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

首頁 > 開發(fā) > CSS > 正文

css核心基礎(chǔ)總結(jié)篇(推薦)

2024-07-11 08:57:45
字體:
供稿:網(wǎng)友

今日這篇是整合前面的css補充知識的。

我覺得前面的關(guān)于css的知識補充進去有點亂,今日整理整理一下。

層疊樣式表

層疊是什么意思?為什么這個詞如此重要,以至于要出現(xiàn)在它的名稱里。

層疊可以簡單地理解為沖突的解決方案。

什么是沖突?

就是同個元素在使用不同的選擇器選擇中后添加相同的樣式。

優(yōu)先級規(guī)則可以表述為

行內(nèi)樣式>ID樣式>類別樣式>標記樣式

在復(fù)雜的頁面中,某一個元素有可能會從很多地方獲取樣式,例如一個網(wǎng)站的某一

級標題整體設(shè)置為使用綠色,而對某個特殊欄目需要使用藍色,這樣在欄目中就需

要覆蓋通用的樣式設(shè)置。在很簡單的頁面中,這樣的特殊需求實現(xiàn)起來不會很難,

但是如果網(wǎng)站的結(jié)構(gòu)很復(fù)雜,就完全有可能代碼變得非常混亂,可能出現(xiàn)無法找到

某個元素的樣式來自于哪條規(guī)則的情況。因此,必須要充分理解css中“層疊”的原理。

 

計算沖突樣式的優(yōu)先級是一個比較復(fù)雜的過程,并不僅僅是上面這個簡單的優(yōu)先級規(guī)則

可以完全描述的。但是讀者可以把一個大的原則,就是“越特殊的樣式,優(yōu)先級越高”。

 

而這個怎么樣才是特殊且越特殊怎么定位,請接著看以下的內(nèi)容。

特殊性:

每個選擇器都有特殊性,而如果一個元素有兩個或多個沖突的屬性聲明,特殊性高的勝出。

選擇器的特殊性由選擇器本身的組件確定。特殊性值表述為4個部分,如:0,0,0,0.

一個選擇器的具體特殊性如下確定:

對于選擇器中給定的各個ID屬性值,則在第二個部分加一:0,1,0,0。

對于選擇器中給定的各個類屬性值、屬性選擇或偽類,則在第三個部分加一:0,0,1,0。

對于選擇器中給定的各個元素和偽元素,則在第四個部分加一:0,0,0,1。

結(jié)合符和通配選擇器對特殊性沒有任何貢獻。

但通配選擇器特殊性為零  : 即0,0,0,0。

結(jié)合符連零都沒有。

例子:

h1{color:red;}   為0,0,0,1

p em{color:purple}  為0,0,0,2

.grape{color:purple}  為0,0,1,0

p.b e.a{color:red; }   0,0,2,2

#aa{color:red;}    0,1,0,0

div#aa *[href]{color:red;}  0,1,1,1

而第一個0是為行內(nèi)樣式準備的,因為越前面,代表優(yōu)先級越高,假如非零數(shù)字位置一樣,那么先比較前面的數(shù)字的大小,

然后再往下比較,直到數(shù)字不相對,取數(shù)字大那個的優(yōu)先級高。

所以才有上面的那個大致優(yōu)先級規(guī)則:

行內(nèi)樣式>ID樣式>類別樣式>標記樣式

它們剛剛好可以作為每個部分的代表,也是四個,對號入座。


重要聲明 !important   ,就是把你所需要的聲明標出來,它的優(yōu)先級最高,不過它要放在聲明的值的最后。

繼承:

繼承的特殊性連零都沒有,就是沒有特殊性;

這個0特殊性有零與無特殊性有很大的區(qū)別,就是0特殊性的選擇器可以為后代加樣式,

而繼承雖然也有給后代加樣式,但有限制的,只有有繼承能力的才能加到后代元素中,如color等,而margin、padding和border這些屬性都不會加到后代里。

相同權(quán)重的,按順序比較,順序越下他的優(yōu)先級最高。

較高特殊性強于較低特殊性

所以偽類聲明順序:link-visited-hover-active

LVHA(簡寫)

當:visited在他們之后時,由于權(quán)重一樣,所以會看他們的順序,而:visited在他們之后會勝出。

當不是寫統(tǒng)一屬性就不會出現(xiàn)這種問題。所以寫同一種屬性時要注意 !!!!

 

以上是css的核心基礎(chǔ)。

 

擴充這篇知識之外:


包含塊:

包含塊的寬就是所包含的元素的父級的寬度,而父級的寬度就是包含在里面的各個元素的

margin-left   +    border-left   +   padding-left  +   width   +   padding-right   +   border-right  +    margin-right=包含塊水平寬


width、margin-left、margin-right都可以設(shè)置auto;

而margin-left和margin-right同時設(shè)置auto,會在居中,但這是有條件的:

1、這個元素必須是塊級元素并且沒有脫離文檔流

2、這個元素有設(shè)置寬度

margin-top、margin-bottom設(shè)置auto是不會垂直居中,設(shè)置成auto,它們只會等于零。

水平總長度的七大屬性,這七個屬性就是上面計算公式的屬性,他們的總和不能大于水平總長度,而margin能為負值,在計算上也不違反這個規(guī)則。

注意:只有margin能為負值。

至于margin為負值時什么樣的,自己去體驗,這個屬性看起來挺犯規(guī)的。

以上這篇css核心基礎(chǔ)總結(jié)篇(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 道孚县| 绥江县| 新巴尔虎左旗| 浪卡子县| 沂水县| 民勤县| 九江市| 综艺| 临江市| 峡江县| 永福县| 山阳县| 武邑县| 贡山| 莒南县| 永清县| 潍坊市| 五原县| 中牟县| 娄底市| 泰和县| 永州市| 普洱| 集贤县| 获嘉县| 葵青区| 双鸭山市| 武隆县| 汝城县| 麻江县| 博爱县| 伊春市| 太谷县| 宜兰县| 乌苏市| 浏阳市| 贵阳市| 西畴县| 竹溪县| 咸丰县| 桐梓县|