CSS的優先順序和繼承問題

2021-08-18 05:12:38 字數 3686 閱讀 1993

★css的衝突,即優先順序

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

★解決css衝突的優先順序規則:

● css層疊樣式表引入方法的優先順序:內聯式》內嵌式》鏈結式》匯入式

● 在多個外部樣式中,後出現的樣式的優先順序高於先出現的樣式,也就是俗稱的覆蓋

● 在樣式中,選擇器的優先順序:id樣式》class樣式》標記樣式(以權重比喻:id的權重為100,class的權重為10,標籤名的權重為1)

● 在樣式後面加乙個!important,例如這樣:.abc 這個樣式的優先順序就會預設提公升到頂級,全域性樣式就無法影響到它了。

✪注意:!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-left

4、背景屬性: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 繼承,層疊,優先順序

1,繼承,父親黃種人,孩子也為黃種人 兒子繼承父親 父親為 color red 子元素,也為color red 子元素不要勞作就有了,子元素什麼有沒有做,我就有了父元素的值 2,但是 width,不叫繼承,叫可以獲取 子元素可以獲取父親的width 父親寬度為100px。子元素不寫寬度,那麼,照樣沒...

CSS的優先順序與繼承

css的優先順序 權重 1 important 優先順序最高 2 內聯樣式表的優先順序 1000 3 id選擇器優先順序 100 4 class選擇器優先順序 10 5 html標籤選擇器優先順序 1 6 優先順序一樣,後面的覆蓋前面的 按這些規則將數字串逐位相加,就得到最終的權重 例 巢狀 css...

CSS優先順序問題

css 優先順序法則 a 選擇器都有乙個權值,權值越大越優先 b 當權值相等時,後出現的樣式表設定要優於先出現的樣式表設定 c 創作者的規則高於瀏覽者 即網頁編寫者設定的css 樣式的優先權高於瀏覽器所設定的樣式 d 繼承的css 樣式不如後來指定的css 樣式 e 在同一組屬性設定中標有 impo...