首頁 > web前端 > css教學 > 關於CSS的優先權和繼承問題

關於CSS的優先權和繼承問題

迷茫
發布: 2017-03-25 11:21:42
原創
1547 人瀏覽過

CSS的優先權與繼承問題

#★CSS的衝突,即優先權








 CSS本身的設定可以同時套用多個樣式在同一個元素,此時樣式之間可能出現衝突而達不到使用者所想要的效果。

★解決CSS衝突的優先順序規則:  ● CSS層疊樣式表引入方法的優先順序:內聯式>內嵌式>連結式>導入式  ● 在多個外在樣式中,後面出現的樣式的優先權高於先出現的樣式,也就是俗稱的覆寫
 ● 在樣式中,選擇器的優先權:ID樣式>class樣式>標記樣式(以權重比喻:id的權重為100,class的權重為10,標籤名的權重為1)

 ● 在樣式後面加一個!important,例如這樣:.abc { background:#fff !improtant;} 這個樣式的優先權就會預設提升到頂級,全域樣式就無法影響到它了。

✪注意:!important要寫在分號的前面

優先權:

     就近原則(離程式碼越近,優先權越高)      選擇範圍越小,優先權越高。細化CSS,透過多加父元素的選擇符一層層包住,縮小選擇範圍

#  ★樣式繼承:

 繼承是指我們設置上級(父級)的CSS樣式,上級(父級)及以下的子級(下級)都具有此屬性。一般只有文字文字具有繼承特性,如文字大小、文字加粗、文字顏色、字體等。但注意有一些css樣式是不具有繼承性的。如border:1px solid red;demo:

<p style="color:red;">如果你不知道自己<span>想做什么该做什么</span>,那你什么都做不好。</p>
登入後複製
說明:(1)我設定上級(父級:p)的文字顏色為紅色,而子級(span)未設定文字顏色,但是文字具有繼承特性,所以子級文字內容依然是紅色。  (2)假如設定父級文字顏色樣式後,其多個子級因繼承而與父級相同,若有些子級顏色不想與父級相同,這個時候只需對對應子級設置需要顏色即可。

✪注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。

繼承好處:可以只設定上級的CSS樣式表屬性,子級(下級)不用設置,都有此CSS屬性,可以減少CSS程式碼,以便於維護。

 ★CSS中可以和不可以繼承的屬性

一、無繼承性的屬性

1、display:規定元素應該產生的框的類型

2、文字屬性:

vertical-align:垂直文字對齊

text- decoration:規定新增至文字的裝飾

text-shadow:文字陰影效果

white-space:空白符的處理

unicode-bidi:設定文字的方向3、盒子模型的屬性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right- style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top- color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、 padding-left4、背景屬性:background、background-color、background-image、background-repeat、background-position、background-attachment

5、定位屬性:float、clear、 position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index

6、產生內容屬性:content、counter-reset 、counter-increment

7、輪廓樣式屬性:outline-style、outline-width、outline-color、outline

8、頁面樣式屬性:size、page-break-before、page -break-after

9、聲音樣式屬性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during

#二、有繼承性的屬性

###1、字體系列屬性#######font:組合字體######font-family:規定元素的字體系列######font-weight:設定字體的粗細######font-size:設定字體的尺寸######font-style:定義字體的風格######font- variant:設定小型大寫字母的字體顯示文本,這意味著所有的小寫字母均會被轉換為大寫,但是所有使用小型大寫字體的字母與其余文本相比,其字體尺寸更小。 ######font-stretch:對目前的 font-family 進行伸縮變形。所有主流瀏覽器都不支援。 ###

font-size-adjust:為某個元素規定一個 aspect 值,這樣就可以保持首選字體的 x-height。

2、文字系列屬性

text-indent:文字縮排

text-align:文字層級對齊

line-height:行高

word-spacing:增加或減少字間的空白(即字間隔)

letter-spacing:增加或減少字元間的空白(字元間距)

text- transform:控製文字大小寫

direction:規定文字的書寫方向

color:文字顏色

3、元素可見性:visibility

4、表格佈局屬性:caption-side、border-collapse、border-spacing、empty-cells、table-layout

#5、清單佈局屬性:list-style-type、list-style-image、list-style -position、list-style

6、產生內容屬性:quotes

7、遊標屬性:cursor

8、頁面樣式屬性:page、page-break-inside 、windows、orphans

9、聲音樣式屬性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、 、azimuth、elevation

三、所有元素可以繼承的屬性

1、元素可見性:visibility

2 、遊標屬性:cursor

四、內聯元素可以繼承的屬性

1、字型系列屬性

2 、除text-indent、text-align以外的文字系列屬性

五、區塊級元素可以繼承的屬性

##1、 text-indent、text-align

以上是關於CSS的優先權和繼承問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板