2010 13 Tháng Ba 2010

@ Fontface: Thể hiện nó với một phông chữ của sự lựa chọn của bạn, Sử dụng WebFonts

CSS hoàn thành 10 năm tồn tại năm này! Những người đã được khoảng một thời gian, kiếm được bánh mì của họ (hoặc không) bằng cách sử dụng CSS, sau đó bạn có thể biết làm thế nào chúng tôi đã được đói cho một lựa chọn tốt của phông chữ. Ngay cả với việc thiếu các phông chữ, thiết kế giống như những người có CSS Zen Garden đã sử dụng hình ảnh nền CSS để thay thế phông chữ trong việc theo đuổi thực hiện một số công lý cho thiết kế của họ. Chúng tôi cũng đã cố gắng hacks ® Flash / JavaScript để đạt được mục tiêu thiết kế của chúng tôi. Bởi không có phương tiện này là một cách sai lầm để có được các phông chữ mà chúng ta mong muốn vào thiết kế web của chúng tôi, nhưng chắc chắn, nó không phải là cách hấp dẫn nhất. và năm trong thiết kế web, như tôi, đã hoàn toàn dựa vào mười hay phông chữ cho thiết kế của họ.

Phát triển gần đây trong các tiêu chuẩn web và các định dạng phông chữ làm cho nó có thể làm cho văn bản HTML trong các kiểu chữ khác hơn so với các phông chữ mặc định cũ. Đi kèm trong "@ fontface" decleration CSS.

@ Fontface provids một giải pháp để liên kết đến tập tin font chữ thực tế và lấy nó từ trang web. Sử dụng @ fontface, thiết kế có thể sử dụng phông chữ mà không cần phải đóng băng các văn bản như hình ảnh nền. Thực hiện là rất thẳng về phía trước, như hình dưới đây, nhưng như tất cả những điều tốt đẹp có một phần CON nó, không phải tất cả các trình duyệt hỗ trợ một "phông chữ". Nếu bạn đang có kế hoạch sử dụng @ fontface trong trang web với yêu cầu hỗ trợ trình duyệt chéo, sau đó bạn sẽ phải cung cấp nguồn cho các loại font khác nhau của cùng một.

  1. TrueType - định dạng được thiết kế để xem xét tốt trên màn hình. Giới thiệu đặc biệt của Windows trình duyệt (Chrome).
  2. OpenType (CFF) - Định dạng này là tốt hơn cho công việc in ấn và không phải luôn luôn nhìn tốt trên Windows.
  3. EOT - Bạn cần định dạng này nếu bạn muốn nhắm mục tiêu Internet Explorer. IE sẽ không sử dụng bất kỳ định dạng khác. EOT của chúng tôi sẽ được coi là "Lite, kể từ khi họ không nén cũng không phải lĩnh vực hạn chế.
  4. SVG - Đây là một định dạng XML được hỗ trợ bởi một số trình duyệt bao gồm cả iPhone.
  5. WOFF - qua trình duyệt, định dạng phông chữ web chỉ là trọng lượng nhẹ (dữ liệu phông chữ là ZIP) và có thể được biên dịch với một trong hai TrueType hoặc PostScript (CFF) phác thảo. Nó hiện đang được hỗ trợ bởi FireFox 3,6 +.

Sử dụng @ fontface

  @ Font-face {
 font-family: 'CalligraphyFLFRegular';
 src: url ('CalligraphyFLF.eot');
 src: địa phương ('CalligraphyFLF), địa phương (' CalligraphyFLF), định dạng url (CalligraphyFLF.woff ') (WOFF'), url ('CalligraphyFLF.ttf') định dạng (truetype '), url (' CalligraphyFLF định dạng. svg # CalligraphyFLF ') (' svg ');
 }
 @ Font-face {
   font-family: "kiểu chữ";
   src: url ("fonts / font_filename.eot");
   src: địa phương ("tên thay thế"), địa phương ("Alternatename)
     url ("fonts / font_filename.woff") định dạng (WOFF "),
     url ("fonts / font_filename.otf") định dạng ("OpenType"),
     url ("fonts / font_filename.svg # font_filename") định dạng ("svg");
   }
 h2 {font-family: "mặt chữ", Georgia, serif;} 

Như bạn có thể nhìn thấy từ ví dụ trên, bao gồm các phông chữ kiểu chữ được lựa chọn, một trong những liên kết đến một tập hợp các fonttypes cho cùng một kiểu chữ. Do đó người ta gọi nó là "Font Kit".
Có Kits Font có sẵn một cách rõ ràng cho phép liên kết với các tài sản CSS font-mặt dưới End User License Agreement (EULA).

Nguyên ích WebFont:

  • @ Font-mặt nhúng phông chữ trang wiki tại http://webfonts.info/wiki/index.php?title=Main_Page
  • Ray Larabie . Ông là một nhà thiết kế phông chữ nổi tiếng, người đã thực hiện hàng trăm các phông chữ TrueType thú vị tự do có sẵn để sử dụng trên web. Phông chữ của ông là thanh lịch, trang trí, và vui tươi.
  • Dieter Steffmann là một nhà thiết kế font chữ tuyệt vời. Ông cũng đã thực hiện nhiều phông chữ đẹp có sẵn cho bất cứ ai sử dụng.
  • Font cửa hàng : cung cấp các phông chữ được thiết kế đặc biệt để sử dụng web. Hơn 30 của các gia đình FontFont thành công nhất hiện nay có sẵn như là FontFonts Web. FontShop cũng có một WebFont người sử dụng hướng dẫn chi tiết http://www.fontshop.com/blog/newsletters/pdf/webfontfontuserguide.pdf
  • Font Squirrel : Giới thiệu tất cả các phông chữ Font Squirrel cung cấp để sử dụng với @ nhúng CSS font-mặt. Font Squirrel cung cấp một số lượng ấn tượng của loại hình, làm cho nó chết đơn giản để chọn một trong ra ngoài, và handily cung cấp bộ dụng cụ "- kiểu chữ của sự lựa chọn của bạn, trong một số định dạng, đóng gói với bản demo HTML & CSS sử dụng rất hiện tại @ font-face cú pháp . Họ cũng cung cấp một cách để làm cho @ font-mặt bộ dụng cụ . Nếu bạn muốn sử dụng kiểu chữ đã được cấp phép một cách thích hợp (những cái mà đi kèm với máy tính của bạn không nhất thiết phải được), máy phát điện sản xuất EOT, SVG, và hey! WOFF các tập tin.

2009 18 tháng hai năm 2009

Thêm DropShadow Để hình ảnh sử dụng CSS

Một tut nhanh chóng. Đây là một cái gì đó đơn giản và tốt đẹp bằng cách sử dụng POWER của CSS ... nhưng khó khăn concieve (và chắc chắn không phải là tôi) để bắt đầu với. Thêm DropShadow, có thể là một mảnh bánh cho nhiều người trong chúng ta, bằng cách sử dụng một số công cụ chỉnh sửa hình ảnh như Photoshop và Fireworks.
Lý do tại sao, tôi đã lựa chọn hiệu ứng bóng đổ bằng cách sử dụng CSS, thường là trong khi tạo ra một thiết kế trang / html của một ứng dụng, yêu cầu giữ iterating. Những gì tôi có nghĩa là, một trang web hiện có với nhiều hình ảnh, giống như những hiển thị freinds danh sách hoặc thư viện hình ảnh, nó sẽ rất khó để tái xử lý toàn bộ tải trọng của hình ảnh đã được đã được dỡ xuống để thêm hoặc loại bỏ các bóng tối, cho rằng vấn đề.
Vì vậy, Nếu bạn đã làm được một chút suy nghĩ về phía trước trong khi tạo ra các HTMLS thêm các bộ phận phòng, hay thường tình hình là bạn có một logic vòng tạo ra các biểu tượng / hình thu nhỏ trong XSL, PHP. JAVA hoặc bất kỳ ngôn ngữ lập trình / kịch bản khác, bạn có thể thêm nó vào bất cứ lúc nào, sau đó chỉ là vấn đề của các hiển thị và ẩn các bóng tối bằng cách sử dụng tài sản hiển thị CSS, theo các khách hàng bao giờ thay đổi yêu cầu ... Tôi havn't làm điều này loại suy nghĩ về phía trước trước khi điều này ... nhưng ahev bắt đầu ngay bây giờ!

Trong ví dụ dưới đây, hình ảnh ban đầu là bóng tối miễn phí và dropshadows được áp dụng theo yêu cầu! CŨNG, tôi đã đi thêm một chút, bằng cách sử dụng các thủ đoạn của Tut trước đây của tôi (Well! này có thể là ngắn nhất của Hướng dẫn khác nhau, do đó, nó chỉ hợp lý gọi họ là "Tut" 's) Sử dụng tài sản Clip CSS cho hiện chỉ

Hình ảnh Gốc

original_image

CSS DropShadow Kết quả
css_dropshadow_results
Demo | Tải về sourcefiles


2009 17 Tháng 2, 2009

Understandng Các tài sản Clip CSS

Tại sao tôi muốn hiểu được điều này? ... Humm!!

Hầu hết các nhà văn CSS sẽ đồng ý rằng CSS Clip tài sản có lẽ là một trong những tài sản chưa được sử dụng hầu hết CSS. Đó là thực sự cho tôi và hạnh phúc nhất để bỏ qua nó, cho đến khi tôi bắt đầu sửa đổi Knob trượt các phần MooTools HAI (Pin) (với Dải Chỉ số) .

Có một gợi ý tốt từ một trong những người sử dụng thành phần để sửa đổi phần trượt bằng cách sử dụng cắt bớt hình ảnh backgroud (chống lại một bộ phận biến chiều rộng) để chỉ ra phạm vi thanh trượt. Như vậy đến thời gian của tôi để vui vẻ, nhưng un-điều lệ (đối với tôi ofcourse) vùng biển của tài sản Clip CSS.

Vâng! nó có thể được khó khăn như thế nào? Không có nhiều ở tất cả các ... YES và NO. Cú pháp để sử dụng tài sản Clip CSS là khá ngay thẳng, nhưng ý nghĩa / usuage là một chút croocked. Với một bộ nhớ của tôi như thế, mọi lúc tôi ngồi để làm lại trên Script trượt của tôi ... Tôi có tokeep đề cập trở lại để sử dụng tài sản CLIP này, để nhắc nhở bản thân mình logic mà tôi đã tạo ra trong kịch bản của tôi .... Do đó! cho bút xuống, với một hy vọng để ghi nhớ nó trong tương lai (và cũng vì lợi ích của những người có vẻ boggled Sở hữu Clip CSS)

CSS Clip làm gì?

Clip là một phần của mô-đun hiệu ứng hình ảnh của CSS 2.1. Đơn giản chỉ cần đặt, công việc của nó là để đặt một cửa sổ có thể nhìn thấy trên đầu trang của một đối tượng đang bị cắt bớt, do đó cắt hình ảnh và tạo hình thu nhỏ mà không cần phải tạo ra các tập tin bổ sung (tôi đã đặt tính năng này để sử dụng tốt hơn trong phần trượt :) )

Sử dụng tài sản Clip CSS, bạn có thể tạo ra một clipping bằng cách sử dụng hình dạng rect. Giống như nhiều thuộc tính CSS khác (như lợi nhuận đệm, ...), sử dụng rect yêu cầu bốn tọa độ Top, Right, Bottom, Left (TRBL). Bản chất croocked của tài sản này phản ánh khi bạn xem xét kỹ hơn ở đoạn tính toán khu vực cắt, bằng cách sử dụng các tọa độ (gửi não vào một quăng trong một thời gian). Bây giờ để gây nhầm lẫn bạn phía dưới bắt đầu từ phía trên, và phải bắt đầu từ bên trái. :) . Bạn thấy những gì tôi nói? .... Do đó này bài ...

Sự nhầm lẫn chút này có thể dễ dàng biến mất, với điều này giải thích hình ảnh của tài sản Clip / rect CSS như dưới đây!!!

CSS Clip Yêu cầu

Nhiệm vụ chúng tôi đã bắt đầu là clip hình ảnh Hình thu nhỏ sau đây thành một hình ảnh squarer tìm kiếm (và cũng là một hình ảnh góc rộng)

original_image clip_demo
Thumbnal / Hình ảnh ban đầu Clip Yêu cầu đối với sqaure Thumbmail

CSS Clip Kết quả

clip_results

Demo | Tải về sourcefiles


2008 12 tháng 10 2008

Gắn kết nội dung theo chiều dọc và chiều ngang Trung tâm Bảo hiểm tiền gửi Việt Nam sử dụng CSS

Trước khi chúng tôi đã phải đối phó với CSS để tạo ra bố cục trang của chúng tôi, việc sắp xếp một số nội dung bên trong một ô trong bảng dường như chỉ trẻ em chơi. Đơn giản chỉ cần thiết lập "align" tài sản "valign" của bảng để có sự liên kết của sự lựa chọn của bạn, mảnh bánh!
Với bố trí CSS, mặc dù chúng tôi có "theo chiều dọc-align" tài sản cho các yếu tố, nó không có vẻ như đơn giản như "sắp xếp" hoặc tài sản "valign". Để được specifiic nhiều hơn "theo chiều dọc-align" không bao giờ có vẻ như để giải quyết bất kỳ vấn đề của bạn, đặc biệt là nếu được viết một phần của qua trình duyệt CSS.

Nếu không có việc sử dụng các bảng HTML, VẤN ĐỀ trung vào đối tượng, là một hình ảnh hoặc một số văn bản trong một bộ phận chứa, có thể được tất cả các UI / CSS phát triển cơn ác mộng tại một số điểm. Vấn đề này tiếp tục ngoại suy lo lắng của bạn sắp xếp, nếu các đối tượng được làm trung tâm năng động trong tự nhiên, tức là khi chiều cao của nó là biến (không rõ chiều cao).

Mặc dù có là không có giải pháp được gọi thẳng về phía trước sẽ làm việc trên phạm vi của các trình duyệt chúng ta phải đối phó với các giải pháp mà tôi đã cố gắng để đi đến không có vẻ làm việc trong các trình duyệt mà tôi đã thử nó trong (IE6, IE 7 , FF).

GIẢI PHÁP:
Trong các trình duyệt như Mozilla, Opera và Safari, lạ hành xử "theo chiều dọc-align" tài sản có thể được đưa đến giác quan của nó, chỉ đơn giản bằng cách thiết lập "hiển thị" tài sản của các bộ phận có chứa tế bào bảng "(display: table-cell) .

Vấn đề vẫn còn với gia đình của các trình duyệt IE, người, nhưng dường như không hiểu những gì với tài sản "bàn di động" và không biết gì như họ, họ chỉ cần bỏ qua nó. Các giải pháp đưa ra dưới đây, mặc dù đơn giản, quảng cáo một DOM vài yếu tố HTML của bạn để làm cho mọi việc xảy ra.

CSS và HTML trông như thế này
.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/> views: 3456 </ div>
</ Div>
</ Div>

Kết quả trông như thế này:

HTML_CSS_vertical_align_vertical_middle_aligned_images

xem demo ở đây | Tải tập tin Source (tải về 452 lần)


Hiểu biết về các giải pháp:
Đối với các trình duyệt hiểu hiển thị bảngmàn hình hiển thị: table-cell tài sản, nó hiếm khi cần bất kỳ lời giải thích. Đối với IE, với việc sử dụng một trình duyệt IE cụ thể hack (băm hack), chúng tôi hoàn toàn vị trí các thùng chứa đối tượng (obj_container) trong một nửa chiều cao có sẵn. Sau đó, đối tượng (obj) trong vị trí tương đối và được chuyển lên một nửa chiều cao của nó ... Vâng! Tôi dường như hiểu được cái nhìn trên khuôn mặt của bạn, nhưng Nó hoạt động. Hãy thử nó!
Các kỹ thuật nói trên được kết hợp để cung cấp cho chúng ta giải pháp trình duyệt trên thập tự giá.


CSS có thể được dễ dàng sửa đổi như dưới đây để đạt được, theo chiều dọc-align: trên hoặc dọc-align: dưới cùng

TOP Align 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/> views: 1234 </ div>
</ Div>
</ Div>

Kết quả trông như thế này:

HTML_CSS_vertical_align_vertical_top_aligned_images

BOTTOM Align 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/> views: 1234 </ div>
</ Div>
</ Div>

Kết quả trông như thế này:

HTML_CSS_vertical_align_vertical_bottom_aligned_images

xem demo ở đây | Tải về tại đây


Ngang trung của đối tượng chỉ đơn giản là đạt được với các tài sản lợi nhuận, bằng cách thiết lập lề trái và lề phải tự động

Có vẻ như lứa tuổi, kể từ khi tôi đã cố gắng tìm một giải pháp hợp lý cho vấn đề này liên kết. Nhưng bây giờ với giải pháp này, tôi cảm thấy hòa bình ít.

Với hy vọng rằng một ngày nào đó

  • tài sản liên kết dọc trong CSS sẽ làm việc như nó bên trong một ô trong bảng, KHÔNG phải đánh bại nhiều quanh co
  • Ít nhất, thiết lập margin-top: tự động và lề dưới: tự động, sẽ cho kết quả tương tự như với margin-left và thiết lập lề bên phải để tự động
  • Cuộc chiến trình duyệt sẽ có một ngày nào đó.
  • Có chỉ ONE trình duyệt cho tất cả.

Tải về CSS và HTML của các giải pháp trên đây (tải về 452 lần) ... cho dễ hiểu, CSS không được tối ưu hóa

PS: Và bằng cách này, đó là hình thu nhỏ của một số hình ảnh tôi đã nhấp vào ... :)


2008 Ngày 13 tháng 8 năm 2008

Tokenizing chuỗi phân cách bên trong một XSL

Nếu yêu cầu của bạn là để phân chia giá trị nút trong một XML, có chứa một chuỗi phân cách của giá trị, vào các cá nhân, sau đó bạn đã đến đúng nơi có một cái nhìn vào ví dụ dưới đây. Nếu bạn đã quen thuộc với một chút ít của XML và XSL ... Tôi không nghĩ rằng bạn sẽ cần bất kỳ lời giải thích.
Ngoài ra, ví dụ này bao gồm cách sử dụng chức năng XSL như xsl: call-template, xsl: chuỗi con, trước khi, xsl: chuỗi con sau, nếu đó là những gì bạn đang sau.

XML được chuyển đổi (food.xml): -
Giả sử công việc là tokenize các chuỗi phân cách bằng dấu phẩy, các "từ khóa" tag

<?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>

Kết quả đầu ra 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>

Không cần phải nói ... chỉ cần thay đổi các tham số "delimitr" dấu phân cách của sự lựa chọn của bạn


2008 Tháng Sáu 20, 2008

Trắng Space Bug trong mục Line / Danh sách (li) trong IE6

Nếu bạn đã bao giờ thực hiện (hoặc làm một) một Menu dọc bằng cách sử dụng các danh sách (li) thẻ và CSS, bạn có thể gặp phải, một lỗi trong Internet Explorer, trình duyệt IE 6 chèn các khoảng trống giữa các danh sách có chứa yếu tố cấp khối, tức là nếu có bất kỳ khoảng trắng giữa các mục trong danh sách đánh dấu. Cảm ơn, nhưng không nhờ, các phiên bản IE 7 có vẻ như miễn phí từ lỗi này.
Nếu như tôi, và nhiều hơn nữa, bạn thuộc về ban nhạc này của các nhà phát triển thất vọng, những người vẫn còn có để có được bố trí mới của họ, làm việc trong IE6, sau đó điều này có thể chứng minh hữu ích. Có một cái nhìn ...

Mẫu đánh dấu:

<ul id="menu">
<li> <a href="#"> Trang chủ </ a> </ li>
<li> <a href="#"> Giới thiệu </ a> </ li>
<li> <a href="#"> Dịch vụ </ a> </ li>
<li> <a href="#"> Danh mục đầu tư </ a> </ li>
<li> <a href="#"> Trợ giúp </ a> </ li>
<li> <a href="#"> Liên hệ </ a> </ li>
</ Ul>

Bạn có thể tạo ra một số CSS, tương tự như dưới đây, transfrom đánh dấu ở trên vào một menu dọc ....

Mẫu CSS ...
# Đơn {
margin: 0; padding: 0; background: # FF9900;
list-style-type: không có; width: 150px;
}
# Đơn li {margin: 0; padding: 0;}
# Menu {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; biên giới-bottom: 1px solid # FFF;
}

Kết quả bạn sẽ thấy ...
vô giá trị

Giải pháp cho lỗi này ... (sửa đổi / bổ sung CSS nghiêng đậm)

# Đơn {
margin: 0; padding: 0; background: # FF9900; danh sách-style-type: none; width: 150px;
float: left; / * này có chứa các danh sách thả nổi * /
}
# Đơn li {
margin: 0; padding: 0;
float: left; / * Đây bản sửa lỗi * /
width: 100%; / * khoảng trắng lỗi trong IE6 * /
}
# Đơn {
màn hình hiển thị: block; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; biên giới-bottom: 1px solid # FFF;
}

Nếu doesnot giải pháp trên dường như làm việc (vì lý do được biết là IE6 chỉ) ... thử phương pháp này thay vì

Chỉ cần thêm này IE6 phong cách bổ sung duy nhất để đánh dấu của bạn ...

<- [If lt IE 7>
<style type="text/css">
# Đơn li a {display: inline-block;}
# Đơn li a {display: block;}
</ Style>
<[Endif] ->


2008 4 tháng 5 năm 2008

Bao gồm XSL bên trong XSL

Nếu XML / XSL Transforms là domian bạn, sau đó có lần khi chúng tôi muốn có một mảnh mã năng động để được sử dụng mục thư viện (được thực hiện tái sử dụng được). Những gì tôi có nghĩa là, có thể có thể được thực hiện rõ ràng hơn với kịch bản ví dụ này.

Hãy tưởng tượng bạn đang tạo một trang web (và sử dụng XML, XSL transfroms ofcourse) và hầu hết các trang sẽ có một Module Bình luận. Vâng! sau đó hoặc là bạn sao chép hoặc dán mã này vào mỗi mẫu trang (mà tôi đã không nói, nhưng làm cho bảo trì và làm lại một cơn ác mộng) hoặc thậm chí tốt hơn, bạn tạo một file INCLUDE có thể được kéo vào có bao giờ bạn muốn nó trong trang của bạn ( s) ...
Vì vậy, LÀM THẾ NÀO ĐỂ CHÚNG TÔI TẠO tập tin XSL INCLUDE và bao gồm nó bên trong một tập tin XSL? Dưới đây là làm thế nào ...

Chỉ cần để làm cho mọi việc rõ ràng ... đây là nhanh chóng danh sách các tập tin mà bạn sẽ tạo ra ... ở đây, chúng tôi sẽ được bao gồm cả thông tin về trái cây và rau quả vào một trang mẹ được gọi là thực phẩm.

1. food.xml - xml dữ liệu tập tin chuyển đổi sẽ được áp dụng
2. food.xsl - chính XSL tập tin, mà sẽ chuyển đổi food.xml của chúng tôi
3. inc_fruits.xsl - XSL bao gồm các tập tin sẽ làm cho trái cây dữ liệu
4. inc_vegtables.xsl - XSL bao gồm các tập tin sẽ làm cho vetetables dữ liệu

Tôi không nghĩ rằng tôi có giải thích nhiều, các mã cho các yếu tố trên, sẽ được tự giải thích ...

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: template>
</ Xsl: stylesheet>


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>

Tải về tất cả các tập tin trên (253 tải)


2008 Ngày 12 tháng 4 năm 2008

CSS Các trình duyệt Hack Chiều cao tối thiểu

Đăng IE 6, MSIE đã được loại, đủ cho chúng tôi giao diện người dùng phát triển bằng cách thêm một vài chi tiết tiêu chuẩn CSS tài sản hầu hết các trình duyệt tiêu chuẩn khác. Một trong những hữu ích sở hữu "chiều cao-min". Tài sản khá thẳng về phía trước mà không cần giải thích dài hơi. Khi min-height cho một bộ phận được thiết lập, nó luôn luôn giữ lại rằng chiều cao thiết lập khi nội dung đó nhà chiếm ít hơn nó có thể giữ và quan trọng (không giống như vani đồng bằng sở hữu "chiều cao") quy mô hoặc nói cách CSS, nó hoạt động như một bộ phận có "chiều cao" được thiết lập để "tự động" ...

Đối với một số người trong chúng ta phát triển nghèo, những người vẫn còn được yêu cầu mã CSS cũng phải làm việc trong IE6, bỏ sẵn có của "min-height", có thể chứng minh một stopper hiển thị đôi khi ... donot tuyệt vọng.

May mắn thay, chúng tôi có đủ quirks trong IE, chúng tôi sẽ sử dụng lợi thế ra và hack theo cách của chúng tôi thông qua việc đạt được mục tiêu của chúng tôi ... tức là làm cho một bộ phận PHÂN như là mặc dù chiều cao min trong IE6

Giải pháp 1: Sử dụng Hack gạch dưới [ ... Tìm hiểu thêm ]

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

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


Giải pháp 2: Sử dụng các thuộc tính CSS Selector Hack

.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>

Hack Lựa chọn các thuộc tính CSS có lợi thế của các trình duyệt trước đó tha IE6 bỏ qua atribute-chọn. Lưu ý các yêu cầu của một bộ phận container với lớp học "SomeClass" =. Chỉ cần sự hiện diện của các thuộc tính lớp cho bộ phận này, ghi đè chiều cao trở lại tự động cho Opera, Mozilla và MSIE7 và sau đó. IE6 không hỗ trợ chọn atribute, bỏ qua nó.

Xem Demo min-height hack cho IE6



2008 04 Tháng 4 2008

Làm việc với các thuộc tính Node XML trong XSLT

Nếu bạn sử dụng XML và XSL, sau đó bạn có thể đã đi qua một thời gian, khi bạn phải chơi xung quanh với các thuộc tính và giá trị của các nút XML trong bạn XSL. Họ là vô số các trang web với thông tin về điều này hơi dài, nhưng không có tôi thấy ngắn gọn và chính xác ... Đây là NO Tutorial XML / XSL, nhưng cố gắng của tôi để đặt cùng một số loại danh sách cheat ...

Các mẫu XML mà chúng tôi sẽ làm việc với trông như thế này ...

<?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>

Vì vậy, bạn bắt đầu chuyển đổi của chúng tôi trên XML sử dụng XSL

Ví dụ 1: Hiển thị giá trị tại một thuộc tính lựa chọn

<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 kết quả sẽ như thế

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


Ví dụ 2: Lặp qua và hiển thị tên tất cả các thuộc tính XML và giá trị của họ

<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 kết quả sẽ như thế


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


Tải về tất cả các tập tin trên (245 tải)



Thêm bài này vào không gian này, tôi sẽ tiếp tục cập nhật với những phát hiện mới ...


2008 11 Tháng 3 2008

CSS Đặt lại là gì?

Thiết lập lại CSS / CSS để thiết lập một số các phong cách yếu tố cơ bản cụ thể mà tạo ra sự nhất quán trên các trình duyệt khác nhau.

Chúng tôi tất cả đã được thông qua những cơn ác mộng bằng văn bản qua trình duyệt CSS. Vì vậy, khi chúng tôi bắt đầu viết CSS của chúng tôi, là một thực hành để thiết lập lại nó đầu tiên để loại bỏ / đặt lại các mâu thuẫn bất kỳ trình duyệt chéo. CSS Đặt lại, vài đường nét đơn giản của CSS mà bạn bắt đầu CSS của bạn, cho bạn một nền tảng tốt để bắt đầu xây dựng của bạn khi.

Reset CSS mà tôi thường có xu hướng sử dụng trông như thế này

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;
}

ol, ul {
danh sách theo phong cách: không;
}

h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-trọng lượng: bình thường;
}


Thiết lập lại kích thước font chữ của trình duyệt
Đồng thời lưu ý các thiết lập lại đã được áp dụng cho kích thước font chữ của trình duyệt trong các dòng sau đây ...

html {font-size: 76%;}

Các reset CSS trên trình duyệt kích thước phông chữ là 10 pixels, và điều này làm cho nó có thể làm việc với cỡ chữ tương đối (đó là hàng quan trọng từ một tuân thủ WAI prespective)
Đối với ví dụ, định nghĩa sau đây, font-size trong một khoảng được thiết lập 10 pixels và trong paragarph được thiết lập đến 14 điểm ảnh ...

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


NDK nhà | Bày tỏ IT | Diễn đạt Palate | Diễn đạt Penmenship | Bày tỏ nỗi sợ hãi | Diễn đạt Myself