国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

attr()、counter()和calc()在css中的使用

2024-07-11 09:01:05
字體:
來源:轉載
供稿:網友

   各種瀏覽器之間的競爭的白熱化意味著越來越多的人現在開始使用那些支持最新、最先進的W3C Web標準的設備,以一種更具交互性的方式來訪問互聯網。這意味著我們終于能夠利用更強大更靈活的CSS來創造更簡潔,更好維護的瀏覽器前端代碼。現在讓我們來看一看一些也許你還不知道的讓人興奮的CSS 功能。

  在CSS中用attr()顯示HTML屬性值

  attr()功能早在CSS 2.1標準中就已經出現,但現在才開始普遍流行。它提供了一個巧妙的方法在CSS中使用HTML標簽上的屬性,在很多情況下都能幫你省去了以往需要Javascript處理的過程。

  要想使用這個功能,你需要用到三種元素:一個:before 或 :after CSS偽類樣式, .content屬性,和一個帶有你想使用的HTML屬性名稱的attr()表達式。例如,想去顯示

  標題上的data-prefix屬性的值,你可以寫成這樣:

  h3:before {

  content: attr(data-prefix) " ";

  }

  This is a heading

  顯然,這個例子并沒有展示它有多大用處,只是展示了它的基本用法。讓我們來試一個更有用的例子,attr()的一個極好的應用就是當用戶打印頁面時將頁面鏈接顯示出來。為了實現這個,你可以這樣寫:

  @media print {

  a:after {

  content: " (link to " attr(href) ") ";

  }

  }

  Visit our home page

  一旦你知道了這個技巧,你就會吃驚于很多時候它能給你的工作帶來的方便!

  提示:在新版的CSS3標準中,attr()功能被擴展,可以用在各種CSS標記中。

  使用counter()在列表中自動添加序號

  另外一個在CSS 2.1在就已經支持的功能是counter(),使用它,你能方便的在頁面標題,區塊和其它各種連續出現的頁面內容上添加序號。有了它,你就不必限制于只能使用

  來實現這個效果,你可以更靈活的在頁面上使用自定義數字序列。

  關鍵就是它真的很簡單:在: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開發人員的工作。如果你還不開始利用這些功能,那只能說是在犯傻。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陵水| 丰台区| 海口市| 扶绥县| 资中县| 南靖县| 宜城市| 古交市| 兰考县| 阿图什市| 金川县| 阿巴嘎旗| 邵阳县| 石景山区| 屏南县| 凭祥市| 崇信县| 林芝县| 内江市| 九江市| 黄骅市| 石泉县| 都匀市| 云南省| 清丰县| 承德市| 许昌县| 丁青县| 德清县| 涞水县| 加查县| 沧源| 虹口区| 茂名市| 徐州市| 定南县| 武川县| 拜泉县| 盘锦市| 环江| 湖南省|