2010 2010년 3월 13일

@ fontface : 원하는 글꼴로 표현; WebFonts 사용

CSS는 올해 10 년 존재를 완성! CSS를 사용하여 빵 (또는 없음) 수입, 잠시 여기 자들, 그러면 우리가 글꼴의 좋은 선택을 위해 굶주리고있다 방법을 알고 수도 있습니다. 심지어 글꼴의 부족과에서 그 같은 디자이너들이 CSS를 선 가든은 자신의 디자인에 몇 가지 정의를하는 추구 글꼴을 대체할의 CSS 배경 이미지의 사용을 만들었습니다. 우리는 또한 플래시 / 자바 스크립트 ® 해킹 우리의 설계 목표를 달성하기 위해 노력했습니다. 의미없이 이것은 우리의 웹 디자인에 원하는 글꼴을 얻을 수있는 길을 잘못이지만, 확실히, 그것은 가장 바람직한 방법은 아닙니다. 그리고 년간 웹 디자이너를 통해, 나처럼 완벽하게 자신의 설계를위한 열 가지 정도 글꼴에 의존했습니다.

웹 표준 및 글꼴 형식의 최근 발전은 똑같은 기본 글꼴 이외 typefaces에 HTML 텍스트를 렌더링하는 것이 가능합니다. "@ fontface"CSS의 decleration된다.

@ fontface는 실제 글꼴 파일에 연결하고 웹을 통해 조회할 수있는 솔루션을 provids. @ fontface를 사용하여 설계자는 배경 이미지와 텍스트를 고정하지 않고 글꼴을 사용할 수 있습니다. 구현은 아주 스트레이트 포워드 아래와 같이하지만 모든 좋은 것들이 그것에 CON 부분을 가지고로서, 모든 브라우저는 하나의 "글꼴 유형"을 지원합니다. 당신은 크로스 브라우저 지원을 필요로 사이트에 @를 fontface을 사용하도록 계획하고 계신다면, 다음 같은 다양한 글꼴 유형으로 소스를 제공해야합니다.

  1. 트루타입 - 화면에 잘 보이도록 고안된 형식입니다. 특히 윈도우 브라우저 (크롬)를 추천.
  2. 오픈 타입 (CFF) -이 형식은 인쇄 작업을 위해 더 낫다 항상 Windows에서 좋아 보이지 않습니다.
  3. EOT - 당신이 Internet Explorer를 타겟팅하려는 경우이 형식이 필요합니다. IE는 다른 형식을 사용하지 않습니다. 우리 EOT의 그들은 둘 압축하지 않고 있기 때문에 도메인이 - 제한 "라이트"로 간주됩니다.
  4. SVG -이 아이폰을 포함한 일부 브라우저에서 지원하는 XML 형식입니다.
  5. WOFF -이 크로스 브라우저, 웹 전용 글꼴 형식 (글꼴 데이터 압축 압축입니다) 경량이며, 트루타입 또는 포스트 스크립트 (CFF)가 약술 중으로 컴파일 할 수 있습니다. 그것은 현재 Firefox 3.6에서 지원됩니다 +.

@ fontface 사용

  @ 글꼴 얼굴 {
 글꼴 - 가족 : "CalligraphyFLFRegular ';
 SRC : URL ( 'CalligraphyFLF.eot');
 SRC : 지역 ( 'CalligraphyFLF'), 지방 ( 'CalligraphyFLF'), URL ( 'CalligraphyFLF.woff'형식 'WOFF'), URL ( 'CalligraphyFLF.ttf'형식 '트루타입'), URL ( 'CalligraphyFLF . SVG # CalligraphyFLF '형식'SVG ');
 }
 @ 글꼴 얼굴 {
   글꼴 - 가족 : "당신의 글꼴";
   SRC : URL ( "글꼴 / font_filename.eot");
   SRC : 로컬 ( "대체 이름"), 지방 ( "Alternatename")
     URL ( "글꼴 / font_filename.woff") 형식 ( "WOFF")
     URL ( "글꼴 / font_filename.otf") 형식 ( "오픈 타입")
     URL ( "글꼴 / # font_filename를 font_filename.svg") 형식 ( "SVG");
   }
 H2 {글꼴 가족 : "당신의 글꼴", 조지아, 리프;} 

당신이 위의 예제에서 볼 수 선택된 글꼴 글꼴을 포함 마찬가지로, 하나는 같은 글꼴에 대한 fonttypes의 집합에 연결해야한다. 그래서 사람들은 "글꼴 키트"으로 참조하십시오.
명시적으로 최종 사용자 사용권 계약 (EULA)에서 거기에 CSS의 @ 글꼴 얼굴 속성과 연결 허용 가능한 글꼴 키트가 있습니다.

유용한 WebFont 자료 :

  • @ 글꼴 얼굴 퍼가기 서비스에 사용할 글꼴 의 위키 페이지 http://webfonts.info/wiki/index.php?title=Main_Page
  • 레이 Larabie . 그는 웹에서 사용하기 위해 자유롭게 사용할 수 흥미로운 트루타입 글꼴 수백 만들었습니다 유명한 폰트 디자이너이다. 그의 서체는 우아한 장식하고, 장난이 심하구나.
  • 디터 Steffmann는 또 다른 위대한 글꼴 디자이너입니다. 그는 역시 사용하는 사람이 사용할 수 많은 아름다운 글꼴을 이루었습니다.
  • 글꼴 가게 : 웹 사용을 위해 특별히 고안된 글꼴을 제공합니다. 가장 성공적인 FontFont 가정의 30 개 이상은 이제 웹 FontFonts으로 이용이 가능합니다. FontShop는 또한 자세한 WebFont 사용자 가이드가 http://www.fontshop.com/blog/newsletters/pdf/webfontfontuserguide.pdf을
  • 글꼴 다람쥐가 : 글꼴 다람쥐는 @ 글꼴 얼굴 CSS를 삽입와 함께 사용하도록 제공하는 모든 글꼴을 보여줍니다. 글꼴 다람쥐는 타입의 인상적인 수량을 제공하고 하나를 골라 간단 죽은하게, 그리고 handily '키트'제공 - 원하는 글꼴, 다양한 형태의, 데모 HTML & CSS로 패키지된 매우 전류 @ 글꼴 얼굴 구문을 사용합니다 . 그들은 또한 방법이 제공 자신 @ 글꼴 얼굴 키트를 만드는가 . 사용하려는 글꼴이 (컴퓨터와 함께 오는 사람이 반드시 양호하지 않을 수 있습니다) 적절하게 허가되어 있으면, 발전기가 EOT, SVG, 그리고 안녕을! 생산 WOFF 파일.

2009 2009년 2월 18일

CSS를 사용하여 이미지에 DropShadow 추가

또 빠른 차다. 여기 간단하고 CSS의 전원을 사용하여 좋은 일이에요 ..하지만 처음부터 어려운 concieve (그리고 그것이 반드시 내가 아냐)했습니다. Dropshadow를 추가하면, 포토샵 anf 불꽃놀이 등 편집 도구를 몇 가지 이미지를 사용, 우리 중 많은 케이크 peice 수도
제가 CSS를 이용한 드롭 섀도우를 위해 사용하도록 선택한 이유는 일반적으로 응용 프로그램의 페이지 디자인 / HTML을 만드는 동안, 요건 iterating 유지한다는 것입니다. 제가 freinds 목록 또는 이미지 갤러리를 표시하는 것과 같은 다양한 이미지와 기존의 웹 사이트에 가서는 무슨 뜻인지, 그것을 위해, 재처리 이미 추가하거나 그림자를 제거하는 언로 드했던 이미지의 전체 하중에 어려울 것입니다 문제.
이러한 여분의 부서 또는 추가할 HTMLS을 만드는 동안 좀 성급 생각했을 그렇다면 일반적으로 상황이 당신이 XSL, PHP에서 이러한 아이콘 / 축소판을 생성 루프 로직을 가지고있다는 것입니다. 자바 또는 다른 프로그래밍 / 스크립트 언어 당신이 언제든지 추가할 수 있습니다 다음, 연기 토록 요구 사항을 변경하는 클라이언트에 따라, CSS의 디스플레이 속성을 사용하여 이러한 그림자를 숨기고의 문제가 ... 내가 앞으로 생각하고 이런 일을 havn't 전에도 ...하지만 ahev 지금 시작!

아래 예제에서 원본 이미지는 그림자 무료이며 dropshadows이 필요한 경우 적용됩니다! 또한, 생각을 내 앞에서 혀를의 기술 (Well! 이들은 아마 자습서의 짧은 다양하므로 그것만이 그들을 '차다'의 호출 정당)을 사용하여, 약간의 여분을 간 CSS 클립 속성을 사용 과시에 대해서만

원본 이미지

original_image

CSS의 DropShadow 결과
css_dropshadow_results
데모보기 | 다운로드 sourcefiles을


2009 2009년 2월 17일

CSS 클립 속성을 Understandng

내가 왜 이것을 이해할까요?? Humm ...!!

CSS의 작가 대부분은 CSS의 클립 속성이 대부분 취소 사용되는 CSS 속성 중 하나입니다 동의할 것입니다. 그것은 내게도 그렇게 사실과 내가 수정 시작하기 전에는 그것을 소홀히하는 것이 가장 행복 했어요 MOOTOOLS 두 노브 (핀) 슬라이더 구성 요소 (범위 표시기 포함) .

슬라이더 범위를 나타내는 데 이어 backgroud 이미지를 (가변 폭 부문에 대한)를 사용하여 슬라이더 구성 요소를 수정하는 구성 요소 사용자 중 하나에서 좋은 제안이 있었다. 따라서 재미 있지만 CSS 클립 속성의 바다 (ME 당연히)를 해제 전세를 입력하는 시간이 왔어요.

글쎄! 그것은 얼마나 어려운가 될 수 있습니까? 별로요도 전혀 ... 그렇기도하고 아니기도합니다. CSS의 클립 속성을 사용하는 문법은 꽤 똑바로지만 의미 / usuage 조금 croocked입니다. 내것과 같은 메모리로 매번 내 슬라이더 스크립트에 재작업에 앉아서 ... 내 자신에게 내 스크립트에서 만든 논리를 상기시켜,이 클립 속성의 사용으로 언급 tokeep이 있는데 .... 그래서! 그 미래의 (그리고 또한 보이는 자들의 이익을 위해 CSS 클립 속성에 의해 boggled) 기억 희망으로 펜을 내려으로 생각

CSS의 클립은 무엇입니까?

클립은 CSS 2.1 시각 효과 모듈의 일부입니다. 간단히 말하면, 그것의 임무는 따라서 추가 파일을 (나는 이미 슬라이더 구성 요소에 더 사용이 기능을 삽입한 만들 필요없이 이미지를 클리핑하고 축소 이미지를 생성, 이어중인 개체의 위에 보이는 창을 배치하는 것입니다 :) )

CSS의 클립 속성을 사용하면 rect 모양을 사용하여 클리핑을 만들 수 있습니다. rect를 사용하여 많은 다른 CSS 속성 (여백, 패딩 등 등), 마찬가지로 필요 네 좌표 위쪽, 오른쪽, 아래쪽, 왼쪽 (TRBL). 당신이 네 개 좌표를 (잠시 던지기로 두뇌를 전송)를 사용하여, 클립 클리핑 영역을 계산하는 방법에 더 자세히 살펴봐야 할 때이 속성의 croocked 자연 반영합니다. 이제 혼란 하단은 상단에서 시작, 오른쪽은 왼쪽부터 시작됩니다. :) . 당신은 내가 하는말 보이지? .... 따라서이 게시물을 ...

이것은 약간의 혼란은 쉽게 아래와 같이 CSS를 클립 / rect 재산의 시각적 설명과 함께 사라질 수있다!!

CSS의 클립 요건

우리가 시작한 작업은 (또한 광각 이미지) squarer 원하는 이미지로 다음 썸네일 이미지를 고정하는 것입니다

original_image clip_demo
기존 Thumbnal / 이미지 Sqaure Thumbmail 용 클립 요건

CSS의 클립 결과

clip_results

데모보기 | 다운로드 sourcefiles을


2008 2008년 10월 12일

세로로 (가로로) 센터는 CSS를 사용하여 DIV로 콘텐츠를 정렬

우리가 테이블 셀 내부에 일부 내용을 정렬, 우리의 페이지 레이아웃을 만드는 CSS로 처리해야만하기 전에 그냥 애들 장난 같았다. 간단히 "정렬"또는 원하는 정렬, 케이크 조각을 가지고있는 테이블의 "valign"속성을 설정합니다!
우리 요소 속성을 "수직 정렬"가 불구의 CSS 레이아웃을 통해, 그것은 "정렬"또는 "valign"등록 한 간단하게 될 것 같지 않습니다. 더 specifiic 될 수있는 "수직 정렬"크로스 브라우저 CSS의 조각을 작성하고 특히, 귀하의 문제를 해결할 것 같습니다하지 마십시오.

HTML 테이블의 사용없이, 객체 중심의 문제는, 그것 이미지 또는 함유 부문에서 일부 텍스트, 아마도 언젠가는 모든 UI / CSS 개발자 악몽이었습니다합니다. 이 문제는 더 이상 중심되는 개체가 자연 속에서 역동 경우 그 높이가 변수되면, IE를 정렬에 대해 걱정을 extrapolates (알 수없는 높이).

우리가 감당해내야만 브라우저의 범위에 걸쳐 효과적이라 알려진 바로 앞으로 해결책이 없다지만, 난 않습니다 도착하려고했는지 솔루션 (IE6, IE 7 전에 그것을 시도했다고 몇몇 브라우저에서 작동하는 것 , FF).

해결 방법 :
모질라, 오페라와 사파리와 같은 브라우저에서 이상한 속성이 단순히 "테이블 셀"(디스플레이 : 테이블 셀)에 포함된 부문의 '표시'속성을 설정하여, 그 감각에 회부 수있는 '수직이 정렬 "행동 .

문제는 아직, 아직 그들이, 그들은 단지 그것을 무시 마찬가지로 "테이블 - 셀"속성과 무지로 무엇으로 이해하는 사람이 아닌 것 같은데, 브라우저의 IE 가족과 함께 남아있다. 이런 일을하려면 HTML로 간단한 광고를 몇 가지 더 DOM 요소지만, 아래에 주어진 솔루션입니다.

CSS와 HTML은 다음과 같습니다
.outer_container {
display: table;
text-align:center;
height: 140px;
width:140px;
position: relative;
overflow: hidden;
float:left;
margin:0px 10px 0px 0px;
}
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute;
#top: 50%;
#left:50%;
}
.obj{
#position: relative;
#top: -50%;
#left:-50%;
margin:0px auto 0px auto;
}

HTML : -
<div class="outer_container">
<div class="obj_container">
<div class="obj"> <img src="image1.jpg"/> 전망 <br/> : 3,456 </ 사업부를>
</ 사업부>
</ 사업부>

결과는 다음과 같습니다 : -

HTML_CSS_vertical_align_vertical_middle_aligned_images

여기 데모를 볼 | 다운로드 소스 파일 (451 회 다운로드)


솔루션에 대한 이해 :
테이블과 디스플레이 : 디스플레이 이해할 브라우저 테이블 셀 속성을, 그것은 거의 어떤 설명도 필요 없습니다. IE의 경우 사용하는 IE의 특정 해킹 (해쉬 해킹)와 함께, 우리는 절대로 사용할 수있는 높이의 절반에 객체 컨테이너 (obj_container)를 배치. 그런 다음 내에서 개체 (OBJ)가 상대적 위치이며 높이의 절반에 의해 이동됩니다 ... 글쎄! 나는 당신의 표정을 이해하고있는 것,하지만 그것은 작동합니다. 그것을보십시오!
위의 기술은 우리에게 상기 크로스 브라우저 솔루션을 제공하기 위해 결합됩니다.


상단이나 수직 정렬 : CSS는 쉽게 수직 정렬 달성하기 위해 아래와 같이 수정할 수 있습니다 하단에

TOP은 CSS를 정렬
.obj_container_top {
display: table-cell;
vertical-align: top;
#position: absolute;
#top: 0%;
#left:50%;
}
.obj_top{
#position: relative;
#top: 0%;
#left:-50%;
margin:5px auto 0px auto;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#cccccc;
}

HTML : -
<div class="outer_container">
<div class="obj_container_top">
<div class="obj_top"> <img src="image1.jpg"/> 전망 <br/> : 1,234 </ 사업부를>
</ 사업부>
</ 사업부>

결과는 다음과 같습니다 : -

HTML_CSS_vertical_align_vertical_top_aligned_images

아래는 CSS를 정렬
.obj_container_bottom {
display: table-cell;
vertical-align: bottom;
#position: absolute;
#bottom: 0%;
#left:50%;
}
.obj_bottom {
#position: relative;
#bottom: 0%;
#left:-50%;
margin:5px auto 0px auto;
}

HTML : -
<div class="outer_container">
<div class="obj_container_bottom">
<div class="obj_bottom"> <img src="image1.jpg"/> 전망 <br/> : 1,234 </ 사업부를>
</ 사업부>
</ 사업부>

결과는 다음과 같습니다 : -

HTML_CSS_vertical_align_vertical_bottom_aligned_images

여기 데모를 볼 | 현재 다운로드


간단히 여백 왼쪽을 설정하여하고 마진 오른쪽 자동으로 여백 속성을 구현할 객체의 중심 가로

내가이 정렬 문제에 대한 합리적인 해결책을 찾기 위해 노력 이후, 나이처럼 보인다. 그러나 이제는이 솔루션과 함께, 나는 작은 평화에서 느낍니다.

그 언젠가는 희망이

  • CSS에서 수직 정렬 속성은 돌려 많이 이길 필요없이, 그것이 테이블 셀 안쪽처럼 작동합니다
  • 적어도 마진 탑 설정 : 자동과 마진 - 하단 : 자동, 여백에서 왼쪽 및 오른쪽 여백 설정 자동으로와 같은 결과로 제공합니다
  • 브라우저 전쟁 언젠가는 이상이 될 것입니다.
  • 가이 모두를위한 하나의 브라우저.

여기에 위의 솔루션의 CSS와 HTML 다운로드 (451 회 다운로드) .. understandability 들어, CSS는 최적화되지 않습니다

PS : 그리고 참, 그 내가 클릭한 일부 사진의 작은 이미지입니다 ... :)


2008 13 2008 8월

XSL 안으로 구분된 문자열을 Tokenizing

귀하의 요건 가치 구분된 문자열을 포함하는 XML의 노드 값을 분할 경우, 개별 항목에 다음, 당신은 바로 이곳에 도달했습니다 ... 아래 예제에서 본다 구. 당신이 XML과 XSL은 약간 잘 알고있다면 ... 당신이 어떤 설명도 필요 할거라 생각하지 않아요.
XSL, 호출 템플릿 : 문자열 - 전, XSL : 또한이 예제는 XSL과 같은 스타일 기능의 사용을 포함 문자열 - 후에, 당신이 눈독들이면.

변환하기 위해 XML (food.xml) : -
작업 태그 "키워드"에서 쉼표로 구분된 문자열을 tokenize하는 것입니다 가정

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL (food.xsl) : -

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

결과 출력 HTML : -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

말할 필요도없이 그냥 원하는 구분자로 매개 변수를 "delimitr"를 변경


2008 2008년 6월 20일

IE6에서 선 / 목록 항목의 공백 버그 (리)

적 목록 항목 (리) 태그와 CSS를 사용 (또는 하나를 만드는) 세로 메뉴를 만든 경우가 발생할 수도 있습니다,이 아직 IE 블록 레벨 요소를 포함 목록 항목 사이에 여섯 삽입 이러한 격차, 인터넷 익스플로러, 다른 버그 마크업에서 목록 항목 사이에 공백이있다면 즉. 감사합니다, 그런데 덕분에, IE 버전 7이 버그에서 무료 보인다.
나, 그리고 더 많은 것, 당신이 아직 너무 IE6에서 작업하는 새로운 레이아웃을 받아야 좌절 개발자,이 밴드에 속해있다면, 이것은 유용할 수 있습니다. 보라 구 ...

샘플 마크업 :

<ul id="menu">
<li> <a href="#"> 홈 </ a> </ 리>
<li> <a href="#"> 정보 </ a> </ 리>
<li> <a href="#"> 서비스 </ a> </ 리>
<li> <a href="#"> 포트폴리오 </ A> </ 리>
<li> <a href="#"> FAQ </ A> </ 리>
<li> <a href="#"> 문의 </ a> </ 리>
</ UL>

당신은 수직 메뉴로 위의 마크업을 transfrom하려면, 아래의 하나와 유사한 몇 가지 CSS를 만들 수 있습니다 ....

샘플 CSS ...
# 메뉴 {
여백 : 0; 패딩 : 0; 배​​경 : # FF9900;
목록 스타일 타입 : 전혀 없으며 폭 : 150px;
}
# 메뉴 리튬 {여백 : 0; 패딩 : 0;}
# 메뉴 {디스플레이 : 블록;
색상 : # 555555;
텍스트 장식 : 없음;
패딩 : 0 15px;
라인 - 높이 : 2.5; 국경 - 하단 : 1px 고체 # FFF;
}

당신이 볼 수 결과 ...
null로

이 버그 ... (수정 / 굵은 기울임 체로 CSS를 추가)를위한 솔루션

# 메뉴 {
여백 : 0; 패딩 : 0; 배​​경 : # FF9900; 목록 스타일 타입 : 없음; 폭 : 150px;
플로트 : 왼쪽, / *이 떠오르 목록 항목이 포함되어 있습니다 * /
}
# 메뉴 리 {
여백 : 0; 패딩 : 0;
플로트 : 왼쪽, / *이 수정 * /
폭 : 100 %; IE6에서 / * 공백 버그 * /
}
# 메뉴 {
디스플레이 : 블록; 색상 : # 555555;
텍스트 장식 : 없음;
패딩 : 0 15px;
라인 - 높이 : 2.5; 국경 - 하단 : 1px 고체 # FFF;
}

위의 솔루션 doesnot는 (단지 IE6에 알려진 이유로) 일할 것 같다면 ... 대신에이 방법을 시도

오직 당신의 마크업이 추가 IE6에서만 스타일을 추가합니다 ...

<-! 너무 IE 7면>
<style type="text/css">
# 메뉴 리튬 {전시 : 인라인 블록;}
# 메뉴 리튬 {디스플레이 : 블록;}
</ 스타일>
<[endif] ->


2008 2008년 5월 4일

XSL 안에 포함 XSL

XML / XSL가 domian가 변환한다면, 우리는 (재사용 가능한 제출 예정) 라이브러리 항목을 사용하도록 동적 코드 peice 원하는 경우가 있습니다. 무슨 뜻인지, 아마이 예제의 시나리오는 더욱 분명하게 할 수 있습니다.

당신이 웹사이트를 만들고 (그리고 XML, XSL transfroms 당연히 사용) 및 페이지의 대부분은 코멘트 모듈를 가지려고하고 상상해보세요. 글쎄! 다음 중 당신이 모든 페이지 템플리트 (이 내 말을하지만, 유지 보수 및 재작업 악몽을 가지고 있겠지) 또는 더 나은에이 코드를 복사하거나 붙여넣을, 당신은 (당신의 페이지에 당신이 그것을 원하는 위치까지 멈춘 수 포함시킬 파일을 만듭니다 들) ...
그럼 어떻게 XSL 포함시킬 파일을 생성하고 다른 XSL 파일 안에 그것을 포함합니까? 방법은이 ...

그냥 몇 가지 일을 확실하게하는 방법 ... 여기가 만든 것이 파일의 간단한 목록입니다 ... 여기, 우리 음식이라는 상위 페이지로 과일과 야채에 대한 정보를 포함합니다.

1. food.xml - 변환이 적용됩니다되는 XML 데이터 파일
2. food.xsl - 우리 food.xml를 변환합니다 기본 스타일 파일,
3. inc_fruits.xsl - XSL은 과일 데이터를 렌더링 파일을 포함
4. inc_vegtables.xsl - XSL은 vetetables 데이터를 렌더링 파일을 포함

나는 많은 설명이 있다고 생각하지 말아, 위의 요소의 코드는, 자기 설명합니다 ...

FOOD.XML


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>

<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>


FOOD.XSL


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>

<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>

<hr/>
</ BODY>
</ HTML>
다 </ xsl : 템플릿>
다 </ xsl : 스타일 시트>


INC_FRUITS.XSL

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


INC_VEGETABLES.XSL

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

여기에 위의 모든 파일 (252 다운로드) 다운로드


2008 2008년 4월 12일

CSS 크로스 브라우저의 최소 높이 해킹

IE 6을 게시, MSIE는 대부분의 다른 표준 브라우저에 대한 표준을 몇 가지 CSS 속성을 추가하여 저희 UI 개발자에게 친절했다. "분 높이"의 하나 같은 usefull 속성입니다. 더 긴 숨이 찬 설명이 필요없는 아주 스트레이트 포워드 속성입니다. 그것이 주택 콘텐츠가 보유하고 중요한 저울 (일반 바닐라 '높이'속성 달리) 또는 CSS의 단어 수있는 것보다 덜 차지하고 때 사업부 분 높이가 설정되면, 그것은 항상 그 세트의 높이를 유지, 그것처럼 동작 분할 그의 "높이"는 "자동"으로 설정되어 있습니다 ...

또한, IE6에서 작동합니다 여전히 코드를 CSS를해야합니다 우리 불쌍한 개발자, 내용은 "분 높이"의 해제 여부는 언젠가는 쇼 스토퍼를 증명할 수있는 ... Donot의 절망을.

다행히도, 우리가 우위에 사용하고 우리의 목표에 도달하는 데 통해 방법을 해킹할 것이 IE에서 충분한 만지면를 가지고 ... 즉 계열 사업부를 만들지만 같은 IE6에서의 최소 높이

해결 방법 1 : 밑줄 해킹 [사용 ... 더 읽기를 ]

.box1 {
min-height: 200px;
height:auto;
_height:200px;
}

HTML : -
<div class="box1">Some dynamic content with variable height ...</div>


해결 방법 2 : CSS의 속성 선택 해킹을 사용하여

.box2 {
min-height:200px;
height:200px;
}
div[class] .box2 {
height:auto;
}

HTML : -
<div class="someclass">
<div class="box2 common">Some dynamic content with variable height ...</div>
</div>

CSS의 속성 선택기 해킹이 브라우저는 이전 THA IE6가 atribute-셀렉터를 무시하고 사실을 활용합니다. 클래스 = "someclass"다른 컨테이너 부문의 요구 사항을 확인합니다. 그냥이 부문에 대한 클래스 속성의 presense는 오페라, 모질라와 MSIE7위한 자동 나중에 다시 높이보다 우선합니다. atribute의 선택자를 지원하지 않는 IE6은, 그것을 무시합니다.

IE6을위한 최소 높이 해킹의 데모보기



2008 2008년 4월 4일

XSLT에서 XML 노드 속성 작업

당신이 XML과 XSL을 사용하면 특성과 스타일에 XML 노드의 값을들을 플레이해야 할 때, 그때 당신은 시간을 가로질러 왔을 수도 있습니다. 그들은 이것에 대해 긴 숨이 찬 정보가있는 사이트의 부하이며, 내가 찾은 누구는 짧고 정확한없는 것 ... 이것은 XML / XSL 튜토리얼은 아니지만 컨닝 목록의 일종을 함께 넣어 내 시도 ...

우리가 일하는 것을 예제 XML은 다음과 같습니다 ...

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
</food>

그럼 XSL을 사용하여 Google 위의 XML을 변환 시작하자

예제 1 : 선택된 속성에 값 표시하기

<xsl:value-of select="/food/fruits/item[@name='orange']" /><br />
to get more information about <a href="{/food/fruits/item[@name='orange']/@moreinfo}" target="new" ><xsl:value-of select="/food/fruits/item[@name='orange']/@name" /> </a>

HTML 결과 보일까

Orange is the color and rich in vitamin C,
to get more information about <a href="http://www.orange.com" target="new">


예제 2 :를 통해 반복 및 모든 XML 속성 이름과 값 표시

<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>,
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>

HTML 결과 보일까


attribute name : name, attribute value : mango
attribute name : moreinfo, attribute value : http://www.mango.com
attribute name : name, attribute value : banana
attribute name : moreinfo, attribute value : http://www.banana.com
attribute name : name, attribute value : orange
attribute name : moreinfo, attribute value : http://www.orange.com
attribute name : name, attribute value : Papaya
attribute name : moreinfo, attribute value : http://www.papaya.com


여기에 위의 모든 파일 (245 다운로드) 다운로드



이 공간을보고, 나는 새로운 발견으로이 업데이 트에 반영하겠습니다 ...


2008 2008년 3월 11일

CSS를 재설정은 무엇입니까?

CSS의 재설정 / CSS는 다양한 브라우저에 걸쳐 일관성을 만들어 특정 기준에 요소 스타일의 수를 설정할 수 있습니다된다.

우리 모두 크로스 브라우저 CSS의 쓰기의 악몽을 통해 왔습니다. 그래서 우리가 CSS를 쓰기 시작하면, 그것은 어떤 크로스 브라우저 불일치를 제거 / 재설정하는 것이 먼저 재설 정할 수있는 연습입니다. CSS를 재설정, 당신은 당신에게시 구축을 시작하는 깨끗한 기지를 제공하여 CSS를 시작하는 CSS의 간단한 몇 줄 수 있습니다.

제가 정상적으로 사용하는 경향이있는 CSS를 리셋은 다음과 같습니다

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
margin:0;
padding:0;
}
html {font-size: 76%;}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset, img {
border:0;
}

마셨다, UL {
목록 스타일 : 없음;
}

H1, H2, H3, H4, H5, h6 {
글꼴 크기 : 100 %;
글꼴 두께 : 정상;
}


브라우저 글꼴 크기를 재설정
또한 다음과 같은 라인에있는 브라우저의 글꼴 크기에 적용되었습니다 재설정합니다 ...

html {font-size: 76%;}

위의 CSS를 재설정 브라우저 글꼴 크기를 10 픽셀로, 이것은 가능한 상대적인 글꼴 크기 (prespective WAI 준수의 모든 중요한지) 작업할 수
예를 들어, 다음 정의에서, 스팬의 글꼴 크기는 10 픽셀과 그 paragarph에 14 픽셀로 설정되어로 설정됩니다 ...

span {font-size: 1em;}
p {font-size: 1.4em;}


NDK 홈 | IT를 표현 | 표현 구개 | 표현 Penmenship | 표현 공포 | 표현 자신