你需要知道的三個CSS技巧
各種瀏覽器之間的競爭的白熱化意味著越來越多的人現在開始使用那些支援最新、最先進的W3C Web標準的裝置,以一種更具互動性的方式來訪問網際網路。這意味著我們終於能夠利用更強大更靈活的CSS來創造更簡潔,更好維護的瀏覽器前端程式碼。現在讓我們來看一看一些也許你還不知道的讓人興奮的CSS 功能。
在CSS中用attr()顯示HTML屬性值
attr()功能早在CSS 2.1標準中就已經出現,但現在才開始普遍流行。它提供了一個巧妙的方法在CSS中使用HTML標籤上的屬性,在很多情況下都能幫你省去了以往需要Javascript處理的過程。
要想使用這個功能,你需要用到三種元素:一個:before 或 :after CSS偽類樣式, .content屬性,和一個帶有你想使用的HTML屬性名稱的attr()表示式。例如,想去顯示<h3>標題上的data-prefix屬性的值,你可以寫成這樣:
h3:before { content: attr(data-prefix) " "; } <h3 data-prefix="Custom prefix">This is a heading</h3>
顯然,這個例子並沒有展示它有多大用處,只是展示了它的基本用法。讓我們來試一個更有用的例子,attr()的一個極好的應用就是當使用者列印頁面時將頁面連結顯示出來。為了實現這個,你可以這樣寫:
@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():
body { counter-reset: heading; } h4:before { counter-increment: heading; content: "Heading #" counter(heading) "."; }
如果你想知道更多關於這個counter歸零和自增方法的知識,請參考關於這個主題的Mozilla Developer Network頁面。裡面有個極好的如何使用巢狀counter的例子。
使用calc()做算術
最後,但不是最不重要的,讓我們來說說calc()功能。這個函式能讓你執行簡單的算術計算,例如計算元素的長寬,免去了你寫不易維護的Javascript程式碼。這個函式支援所有簡單的基本算術運算,包括加減乘除。
比方說,你想建立一個元素,使它的寬度佔滿它的父元素,但還要留出一部分畫素寬做其它用處:
.parent { width: 100%; border: solid black 1px; position: relative; } .child { position: absolute; left: 100px; width: calc(90% - 100px); background-color: #ff8; text-align: center; }
漂亮吧,不是嗎?更詳細的介紹請參考W3C CSS calc 規範。
我們可以越來越清楚的發現,CSS已經成熟到在某些方法可以替代javascript,極大的簡化了web開發人員的工作。如果你還不開始利用這些功能,那隻能說是在犯傻。
相關文章
- 你需要知道的三個 CSS 技巧CSS
- 這些CSS提效技巧,你需要知道!CSS
- CSS Tricks - 你應該知道的 CSS 技巧CSS
- 這些css高階技巧,你知道幾個呢?CSS
- 你不知道的CSS(三)CSS
- 你需要知道的小程式開發技巧
- 那些你需要知道的CSS-總結CSS
- 關於CSS Transition,你需要知道的事CSS
- [譯] 你需要知道的 CSS 中所有 hyphenation 的使用CSS
- 【譯】10 個你不知道你需要的 HTML 元素HTML
- 學習java三個技巧要知道!Java
- 你所不知道的 CSS 陰影技巧與細節CSS
- 你所不知道的 CSS 濾鏡技巧與細節CSS
- 你需要知道的kafkaKafka
- 你需要知道的SymbolsSymbol
- 你需要知道的requestAnimationFramerequestAnimationFrame
- Vue你可能不知道的7個技巧Vue
- LLM部署,你必須要知道的幾個技巧!
- Python 程式設計師需要知道的 30 個技巧Python程式設計師
- Android 開發者需要知道的8個專案管理技巧Android專案管理
- 你需要知道的7個大資料定義大資料
- 你需要知道的12個Git高階命令Git
- CSS的一些你可能不知道的強大技巧CSS
- 前後端資料聯調的三個小技巧,你一定要知道!後端
- 你不知道的CSSCSS
- ?Web開發者需要知道的CSS TricksWebCSS
- 前端設計師必須知道的10個重要的CSS技巧前端CSS
- 你應該知道的jQuery技巧jQuery
- 學習Linux需要知道的技巧Linux
- 10個你可能不知道的前端PS技巧前端
- 你應該知道的9個優秀的CSS框架CSS框架
- 【翻譯】使用這20個好的css技巧提升你的CSS技能CSS
- 如何在Mac上清理垃圾檔案?你需要知道的6個實用技巧(附MacBooster教程)Mac
- Java開發三大框架,你必需要知道的IT乾貨!Java框架
- 正確建立開發者社群,你需要知道這三點!
- 前端開發者應該知道的 CSS 小技巧前端CSS
- 你可能不知道的7個CSS單位CSS
- 你所不知道的cssCSS