·css偽類:用於向某些選擇器新增特殊的效果。(如給連線新增不同狀態的效果)。
·css偽元素:使用者將特殊的效果新增到某些選擇器。(如在div前後新增小三角,或者用於實現一些checkbok比較好看的效果等)。
可使用偽元素來清除浮動,例如:
.clearfix::after
-偽類有:
w3c:"w3c" 列指示出該屬性在哪個 css 版本中定義(css1 還是 css2)。
屬性
描述
css
:active
向被啟用的元素新增樣式。
1:focus
向擁有鍵盤輸入焦點的元素新增樣式。
2:hover
當滑鼠懸浮在元素上方時,向元素新增樣式。
1:link
向未被訪問的鏈結新增樣式。
1:visited
向已被訪問的鏈結新增樣式。
1:first-child
向元素的第乙個子元素新增樣式。
2:lang
向帶有指定 lang 屬性的元素新增樣式。
2-偽元素有:
w3c:"w3c" 列指示出該屬性在哪個 css 版本中定義(css1 還是 css2)。
屬性
描述
css
:first-letter
向文字的第乙個字母新增特殊樣式。
1:first-line
向文字的首行新增特殊樣式。
1:before
在元素之前新增內容。
2:after
在元素之後新增內容。
2**區別
這裡用偽類:first-child
和偽元素:first-letter
來進行比較。
p>i:first-child
firsti>
secondi>
p>
:first-child
新增樣式到第乙個子元素
如果我們不使用偽類,而希望達到上述效果,可以這樣做:
.first-child
class="first-child">firsti>
secondi>
p>
即我們給第乙個子元素新增乙個類,然後定義這個類的樣式。那麼我們接著看看為元素:
p:first-letter
i am stephen lee.p>
:first-letter
新增樣式到第乙個字母
那麼如果我們不使用偽元素,要達到上述效果,應該怎麼做呢?
.first-letter
class='first-letter'>ispan> am stephen lee.p>
即我們給第乙個字母新增乙個span
,然後給span
增加樣式。
兩者的區別已經出來了。那就是:
偽類的效果可以通過新增乙個實際的類來達到,而偽元素的效果則需要通過新增乙個實際的元素才能達到,這也是為什麼他們乙個稱為偽類,乙個稱為偽元素的原因。偽元素和偽類之所以這麼容易混淆,是因為他們的效果類似而且寫法相仿,但實際上
css3
為了區分兩者,已經明確規定了偽類用乙個冒號來表示,而偽元素則用兩個冒號來表示。
:pseudo-classes
::pseudo-elements
但因為相容性的問題,所以現在大部分還是統一的單冒號,但是拋開相容性的問題,我們在書寫時應該盡可能養成好習慣,區分兩者。 css中偽類和偽元素
偽類和偽元素時對那些我們不能通過class id等選擇元素的補充 偽類的操作物件是文件樹中已有的元素 可以給已有元素加了乙個類替代 而偽元素則建立了乙個文件數外的元素 可以新增乙個新元素替代 css3規範中要求使用雙冒號 表示偽元素,以此來區分偽元素和偽類。偽類 this is a text em ...
css偽類和偽元素
css偽類用於向某些選擇器新增特殊的效果。link,visited,hover,focus,active,first child,lang css3新增的偽類 last child,only child,first of type,last of type,only of type,nth chil...
CSS偽類和偽元素
css引入偽類和偽元素概念是為了格式化文件樹以外的資訊。也就是說,偽類和偽元素是用來修飾不在文件樹中的部分,比如,一句話中的第乙個字母,或是列表中的第乙個元素,又或者是滑鼠懸停在某個超連結上時要設定的樣式。常見的狀態偽類主要包括 link 應用於未被訪問過的鏈結 hover 應用於滑鼠懸停到的元素 ...