偽類用於向某些選擇器新增特殊的效果。
偽元素用於將特殊的效果新增到某些選擇器。
偽類有::first-child ,:link:,vistited,:hover,:active,:focus,:lang
偽元素有::first-line,:first-letter,:before,:after
使用偽類:
1
2
3
4
5
6
7
<
style
>
p>i:first-child
<
p
>
<
i
>first
<
i
>second
如果我們不使用偽類,而希望達到上述效果,可以這樣做:
不使用偽類:
1
2
3
4
5
6
7
<
style
>
.first-child
<
p
>
<
i
class
=
"first-child"
>first
<
i
>second
即我們給第乙個子元素新增乙個類,然後定義這個類的樣式。
使用為元素:
1
2
3
4
<
style
>
p:first-letter
<
p
>i am stephen lee.
那麼如果我們不使用偽元素,要達到上述效果,應該怎麼做呢?
不使用為元素:
1
2
3
4
<
style
>
.first-letter
<
p
><
span
class
=
'first-letter'
>i am stephen lee.
即我們給第乙個字母新增乙個 span,然後給 span 增加樣式。
兩者的區別已經出來了。那就是:
偽類的效果可以通過新增乙個實際的類來達到,而偽元素的效果則需要通過新增乙個實際的元素才能達到,這也是為什麼他們乙個稱為偽類,乙個稱為偽元素的原因。
偽元素和偽類之所以這麼容易混淆,是因為他們的效果類似而且寫法相仿,但實際上 css3 為了區分兩者,已經明確規定了偽類用乙個冒號來表示,而偽元素則用兩個冒號來表示。
1
2
:pseudo-classes //偽類
::pseudo-elements //偽元素
但因為相容性的問題,所以現在大部分還是統一的單冒號,但是拋開相容性的問題,我們在書寫時應該盡可能養成好習慣,區分兩者。
CSS 偽類和偽元素的區別
偽類和偽元素 css3規定,偽類由乙個冒號開始,然後為偽類的名稱。例如 after 偽元素由兩個冒號開始,然後為偽元素的名稱。例如 after 偽類的概念 偽類本質上是為了彌補常規css選擇器的不足,以便獲取到更多的資訊。通常表示獲取不存在與dom樹中的資訊,或獲取不能被常規css選擇器獲取的資訊。...
css 偽類和偽類元素的區別
偽類更多的定義的是狀態,如 hover,或者說是乙個可以使用css進行修飾的特定的特殊元素,如 first child 偽類用於當已有元素處於的某個狀態時,為其新增對應的樣式,這個狀態是根據使用者行為而動態變化的。當使用者懸停在指定的元素時,我們可以通過 hover 來描述這個元素的狀態。雖然它和普...
css中的偽元素和偽類的區別
在使用css的時候經常分不清哪些是偽類,哪些是偽元素。可能知道怎麼用,但概念分不清。今天想到這個問題了就自己總結了一下,方便以後檢視。首先談談什麼是偽元素 偽元素不是實際存在的頁面元素,但是其用法和表現行為與真正的頁面元素是一樣的,可以對其使用諸如頁面一樣的css樣式。他的實質是css樣式展示的行為...