各種瀏覽器之間的競爭的白熱化意味著越來越多的人現(xiàn)在開始使用那些支持最新、最先進的W3C Web標(biāo)準(zhǔn)的設(shè)備,以一種更具交互性的方式來訪問互聯(lián)網(wǎng)。這意味著我們終于能夠利用更強大更靈活的CSS來創(chuàng)造更簡潔,更好維護的瀏覽器前端代碼。
1.在CSS中用attr()顯示HTML屬性值
attr()功能早在CSS 2.1標(biāo)準(zhǔn)中就已經(jīng)出現(xiàn),但現(xiàn)在才開始普遍流行。它提供了一個巧妙的方法在CSS中使用HTML標(biāo)簽上的屬性,在很多情況下都能幫你省去了以往需要Javascript處理的過程。
要想使用這個功能,你需要用到三種元素:一個:before 或 :after CSS偽類樣式, .content屬性,和一個帶有你想使用的HTML屬性名稱的attr()表達(dá)式。例如,想去顯示
標(biāo)題上的data-prefix屬性的值,你可以寫成這樣:
代碼如下:
h3:before {
content: attr(data-prefix) " ";
}
This is a heading
顯然,這個例子并沒有展示它有多大用處,只是展示了它的基本用法。讓我們來試一個更有用的例子,attr()的一個極好的應(yīng)用就是當(dāng)用戶打印頁面時將頁面鏈接顯示出來。為了實現(xiàn)這個,你可以這樣寫:
代碼如下:
@media print {
a:after {
content: " (link to " attr(href) ") ";
}
}
Visit">http://example.com">Visit our home page
一旦你知道了這個技巧,你就會吃驚于很多時候它能給你的工作帶來的方便!
提示:在新版的CSS3標(biāo)準(zhǔn)中,attr()功能被擴展,可以用在各種CSS標(biāo)記中。
2.使用counter()在列表中自動添加序號
另外一個在CSS 2.1在就已經(jīng)支持的功能是counter(),使用它,你能方便的在頁面標(biāo)題,區(qū)塊和其它各種連續(xù)出現(xiàn)的頁面內(nèi)容上添加序號。有了它,你就不必限制于只能使用
來實現(xiàn)這個效果,你可以更靈活的在頁面上使用自定義數(shù)字序列。
關(guān)鍵就是它真的很簡單:在:before偽類里的content屬性加入counter():
代碼如下:
body {
counter-reset: heading;
}
h4:before {
counter-increment: heading;
content: "Heading #" counter(heading) ".";
}
如果你想知道更多關(guān)于這個counter歸零和自增方法的知識,請參考關(guān)于這個主題的Mozilla Developer Network頁面。里面有個極好的如何使用嵌套counter的例子。
3.使用calc()做算術(shù)
最后,但不是最不重要的,讓我們來說說calc()功能。這個函數(shù)能讓你執(zhí)行簡單的算術(shù)計算,例如計算元素的長寬,免去了你寫不易維護的Javascript代碼。這個函數(shù)支持所有簡單的基本算術(shù)運算,包括加減乘除。
比方說,你想創(chuàng)建一個元素,使它的寬度占滿它的父元素,但還要留出一部分像素寬做其它用處:
代碼如下:
.parent {
width: 100%;
border: solid black 1px;
position: relative;
}
.child {
position: absolute;
left: 100px;
width: calc(90% - 100px);
background-color: #ff8;
text-align: center;
}
本文來源于成都網(wǎng)站建設(shè)公司與成都網(wǎng)站設(shè)計制作公司-創(chuàng)新互聯(lián)成都公司!
當(dāng)前文章:小編今天分享一下CSS小技巧
轉(zhuǎn)載源于:http://m.rwnh.cn/news12/326812.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站改版、商城網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)