什么是偽類:
偽類用於定義元素的特殊狀態。
例如,它可用於:
- 當用戶將鼠標懸停在元素上時為其設置樣式
- 樣式訪問和未訪問的鏈接不同
- 在獲得焦點時設置元素的樣式
偽類的用法:偽類:{
}
偽類的種類:
/*鏈接偽類*/ 注意:link,:visited,:target是作用於鏈接元素的!
:link 表示作為超鏈接,並指向一個未訪問的地址的所有錨
:visited 表示作為超鏈接,並指向一個已訪問的地址的所有錨
:target 代表一個特殊的元素,它的id是URI的片段標識符
/*動態偽類*/ 注意:hover,:active基本可以作用於所有的元素!
:hover 表示懸浮到元素上
:active 表示匹配被用戶激活的元素(點擊按住時)
/* 隱私與:visited選擇器*/
只有下列的屬性才能被應用到已訪問鏈接:
color
background-color
border-color
由於a標簽的:link和:visited可以覆蓋了所有a標簽的狀態,所以當:link,:visited,:hover,:active同時出現在a標簽
身上時 :link和:visited不能放在最后!!!
所以一般順序為:LVHA
/*表單相關偽類*/
:enabled 匹配可編輯的表單
:disable 匹配被禁用的表單
:checked 匹配被選中的表單
:focus 匹配獲焦的表單
/*結構性偽類*/
i下面的ndex的值從1開始計數!!!!
index可以為變量n(只能是n)
index可以為even odd
#wrap ele:nth-child(index) 表示匹配#wrap中第index的子元素 這個子元素必須是ele
#wrap ele:nth-of-type(index) 表示匹配#wrap中第index的ele子元素
:nth-child(index)系列
:first-child
比如: P:first-child 選中的是,每個標簽的第一個兒子是p的標簽!
:last-child
比如: P:first-child 選中的是,每個標簽的最后一個兒子是p的標簽!
:nth-last-child(index)
:only-child
(相對於:first-child:last-child 或者 :nth-child(1):nth-last-child(1))
:nth-of-type(index)系列
:first-of-type
:last-of-type
:nth-last-type(index)
:only-of-type
(相對於:first-of-type:last-of-type 或者 :nth-of-type(1):nth-last-of-type(1))
除此之外:nth-child和:nth-of-type有一個很重要的區別!!
個人總結:nth-of-type以兒子元素為中心,nth-child是以父親元素為中心!!!
解釋:如果父親元素參雜其他元素,nth-child會將其他元素也算進去,但是nth-of-type不會
例子:
結論:都是2,但是結果卻不同
:not
:empty(內容必須是空的,有空格都不行,有attr沒關系)
/*偽元素*/
::after 在元素最后添加內容 內容添加:content:“要添加的內容”
::before 在元素最前添加內容 內容添加:content:“要添加的內容”
::firstLetter 選擇文本的第一個單詞
::firstLine 選擇文本的第一行
::selection 就是選擇文本時(就是要復制時觸發)
以上是自己以前學習的心得,然后又更新和解釋