CSS中偽類和偽元素學習總結

2021-07-10 15:42:41 字數 2039 閱讀 4683

·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 應用於滑鼠懸停到的元素 ...