各種瀏覽器之間的競爭的白熱化意味著越來越多的人現在開始使用那些支持最新、最先進的W3C Web標準的設備,以一種更具交互性的方式來訪問互聯網。這意味著我們終于能夠利用更強大更靈活的CSS來創造更簡潔,更好維護的瀏覽器前端代碼。現在讓我們來看一看一些也許你還不知道的讓人興奮的CSS 功能。
在CSS中用attr()顯示HTML屬性值
attr()功能早在CSS 2.1標準中就已經出現,但現在才開始普遍流行。它提供了一個巧妙的方法在CSS中使用HTML標簽上的屬性,在很多情況下都能幫你省去了以往需要Javascript處理的過程。
要想使用這個功能,你需要用到三種元素:一個:before 或 :after CSS偽類樣式, .content屬性,和一個帶有你想使用的HTML屬性名稱的attr()表達式。例如,想去顯示<h3>標題上的data-prefix屬性的值,你可以寫成這樣:
CSS Code復制內容到剪貼板
h3:before {
content: attr(data-prefix) " ";
}
<h3 data-prefix="Custom prefix">This is a heading</h3>
顯然,這個例子并沒有展示它有多大用處,只是展示了它的基本用法。讓我們來試一個更有用的例子,attr()的一個極好的應用就是當用戶打印頁面時將頁面鏈接顯示出來。為了實現這個,你可以這樣寫:
CSS Code復制內容到剪貼板
@media print {
a:after {
content: " (link to " attr(href) ") ";
}
}
<a href="http://example.com">Visit our home page</a>
一旦你知道了這個技巧,你就會吃驚于很多時候它能給你的工作帶來的方便!
提示:在新版的CSS3標準中,attr()功能被擴展,可以用在各種CSS標記中。
使用counter()在列表中自動添加序號
另外一個在CSS 2.1在就已經支持的功能是counter(),使用它,你能方便的在頁面標題,區塊和其它各種連續出現的頁面內容上添加序號。有了它,你就不必限制于只能使用<ol>來實現這個效果,你可以更靈活的在頁面上使用自定義數字序列。
關鍵就是它真的很簡單:在:before偽類里的content屬性加入counter():
CSS Code復制內容到剪貼板
body {
countercounter-reset: heading;
新聞熱點
疑難解答