## 先聲明,瀏覽器讀取css的方式是從上到下的。我們一般書寫css只要元素具備這些屬性就會達到我們預期的效果,但是這會對以後的維護和瀏覽器的渲染效率帶來一定的影響,那麼該怎麼書寫css的順序呢?有沒有一定的規範呢?
首先我們知道css的屬性依特性分為幾類;
## 1.規定元素特性,如display、position、float,這些屬性會決定他的排版方式2.規定元素的空間佔據,如line-height、margin、padding、width、height等,這些屬性會決定元素的大小和位置
3.規定元素的自身效果,如font-size、color、background等,這些屬性會決定元素的效果
其實當我們把css的屬性分類結束後,我們會得到一個很明顯的答案,我們可以想像一下自己用css按照自己的書寫順序畫出來該元素,舉例說明
##
p.detail { font-size: 10px; line-height: 12px; width: 30px; height: 30px; display: inline; }描述:這是一個元素 字體大小10px 行高12px 寬度30px 高度30px 陳列方式為內聯樣式# 當我們開始讀取 當我們開始讀取屬性的時候,我們會很難對元素進行定位,因為我們不知道元素的特性,陳列方式。讀到最後一行的時候才發現,原來這是一個內聯元素,寬度和高度的定義就會失效,所以這種css書寫順序是不被推薦的
p.detail { display: inline-block; margin-top: 20px; width: 100%; height: 20px; color: #fff; font-size: 10px; }描述: 這是一個元素,陳列方式為內聯-塊方式,距上有20px 寬度與父元素等寬高度為20px 顏色為白色字體大小為10px 這樣的書寫方式就能按照一個我們很容易理解的方式進行渲染 總結: 我們書寫css的時候推薦的規範是,先書寫影響元素陳列特性的屬性,再書寫影響元素位置的屬性,最後書寫元素的內部屬性 二、點擊或hover等觸發高亮情況的css書寫 當滑鼠hover的時候,我們往往會為需要改變的元素添加一個active類別名,然後在active裡面寫我們需要改變的屬性 如:
.content { background: black; } .active { background: white; }當我們點擊某元素的時候,需要.content的背景色從黑色變成白色,那麼給.content添加active類別名稱就會達到我們的預期效果,然而我們有的時候點擊的時候不止要改變一個元素的屬性,我們有可能會有這種情況 我們需要在點擊一個類別名為.click的元素的時候,元素icon字體和span元素一個字體變大一個變成紅色怎麼辦,我們可以這樣
<div class="parent"> <div class="icon-font"></div> <span class="text"></span> </div> <div class="click"></div> <style> .icon-active{ font-size: 40px; } .text-active{ color: red; } </style> <script src="jquery.js?1.1.11"></script> <script> $(‘.click’).click(function() { $('.icon-font').addClass('icon-active'); $('.text').addClass('text-active') }) </script>#這樣可以達到我們的預期效果,但是這是兩個元素的關聯反應,假如有三個元素或更多,我們會需要更多的代碼, 其實細心的朋友可能發現了我這裡有一個.parent 標籤,我們可以透過為.parent標籤添加active類別名稱代碼如下:
<div class="parent"> <div class="icon-font"></div> <span class="text"></span> </div> <div class="click"></div> <style> .active .icon-font{ font-size: 40px; } .active .text{ color: red; } </style> <script src="jquery.js?1.1.11"></script> <script> $(‘.click’).click(function() { $('.parent').addClass('active'); }) </script>這樣的話我們只需要將會改變css元素的最相近的最外層添加active類名,然後設定該類名下後代元素的樣式,這樣我們只需要添加一個active類名就達到了我們預期的效果
#
以上是css書寫順序需要注意哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!