偽類和偽元素的區別

2021-07-10 13:26:24 字數 745 閱讀 3199

個人的關注點可能主要集中在js方向上,但是本著css也不能丟掉的原則,所以上網查了些css方面的困惑點,這一篇的主題是:偽類和偽元素

偽類和偽元素的根本區別在於:它們是否創造了新的元素(抽象)。從我們模仿其意義的角度來看,如果需要新增新元素加以標識的,就是偽元素,反之,如果只需要在既有元素上新增類別的,就是偽類。

最為混淆的,可能是大部分人都將 :before 和 :after 這樣的偽元素隨口叫做偽類,而且即使在概念混淆的情況下,實際使用上也毫無問題——因為即使概念混淆,對真正使用也不會造成多少麻煩:) 

css selector level 3 為了區分這兩者的混淆,而特意用冒號加以區分: 

偽類用乙個冒號表示 :first-child 

偽元素則使用兩個冒號表示 ::first-line 

目前為止,偽元素在乙個選擇器裡只能出現一次,並且只能出現在末尾。實則,偽元素是選中了某個元素的符合邏輯的某個實際卻不存在的部分,所以應用中也不會有人將其誤寫成多個。偽類則是像真正的類一樣發揮著類的作用,沒有數量上的限制,只要不是相互排斥的偽類,也可以同時使用在相同的元素上。

偽類的例子有:

:hover

:active

:first-child

:visited

等。偽元素的例子有:

:first-line

:first-letter

:after

:before

偽類和偽元素區別

偽類是向某些選擇器新增特殊的效果,可以通過新增乙個類來達到,用乙個冒號來表示。pseudo classes 如 first child,link visiter hover active focus lang 偽類類似於class,表示一些元素的狀態,但無需標識的分類。偽元素是將特殊的效果新增到某些...

偽類和偽元素的區別

學習這麼長時間對於一些基本點還是不太理解,所以在這裡進行了區分 第一種理解偽類用於向某些選擇器新增特殊的效果。偽元素用於將特殊的效果新增到某些選擇器。第二種理解 偽類的效果可以通過新增乙個實際的類來達到,而偽元素的效果則需要通過新增乙個實際的元素才能達到,這也是為什麼他們乙個稱為偽類,乙個稱為偽元素...

偽類和偽元素的區別

在css1和css2中對偽類和偽元素的定義沒有太大區別,都是 開頭。css3定義的比較明顯。偽類 用於選擇dom樹上元素不同的狀態 visited link 或者是dom上無法用簡單選擇器選擇的元素 first child 元素本身 偽類用乙個 偽類 active 選擇正在被啟用的元素 1 hove...