首頁 >web前端 >H5教程 >css書寫順序需要注意哪些?

css書寫順序需要注意哪些?

零下一度
零下一度原創
2017-06-30 15:26:111425瀏覽

一、css順序#​​

##  先聲明,瀏覽器讀取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() {
    $(&#39;.icon-font&#39;).addClass(&#39;icon-active&#39;);
    $(&#39;.text&#39;).addClass(&#39;text-active&#39;)
  })
</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() {
    $(&#39;.parent&#39;).addClass(&#39;active&#39;);
  })
</script>

  
  這樣的話我們只需要將會改變css元素的最相近的最外層添加active類名,然後設定該類名下後代元素的樣式,這樣我們只需要添加一個active類名就達到了我們預期的效果

 

#

以上是css書寫順序需要注意哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn