CSS 属性 - 伪类和伪元素的区别
生活随笔
收集整理的這篇文章主要介紹了
CSS 属性 - 伪类和伪元素的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
-
偽元素和偽類之所以這么容易混淆,是因為他們的效果類似而且寫法相仿,但實際上?
css3?為了區(qū)分兩者,已經(jīng)明確規(guī)定了偽類用一個冒號來表示,而偽元素則用兩個冒號來表示。 :Pseudo-classes ::Pseudo-elements但因為兼容性的問題,所以現(xiàn)在大部分還是統(tǒng)一的單冒號,但是拋開兼容性的問題,我們在書寫時應(yīng)該盡可能養(yǎng)成好習慣,區(qū)分兩者。
-
區(qū)別
- CSS?偽類用于向某些選擇器添加特殊的效果。
- CSS?偽元素用于將特殊的效果添加到某些選擇器。
-
偽類種類
-
?
-
偽元素種類
-
對比
這里用偽類?
:first-child?和偽元素?:first-letter?來進行比較。 - p>i:first-child {color: red} <p> <i>first</i> <i>second</i> </p>
?//偽類?
:first-child?添加樣式到第一個子元素
如果我們不使用偽類,而希望達到上述效果,可以這樣做: .first-child {color: red} <p> <i class="first-child">first</i> <i>second</i> </p>即我們給第一個子元素添加一個類,然后定義這個類的樣式。那么我們接著看看為元素:
p:first-letter {color: red} <p>I am stephen lee.</p> -
?//偽元素?
:first-letter?添加樣式到第一個字母
那么如果我們不使用偽元素,要達到上述效果,應(yīng)該怎么做呢? .first-letter {color: red} <p><span class='first-letter'>I</span> am stephen lee.</p>即我們給第一個字母添加一個?
span,然后給?span?增加樣式。
兩者的區(qū)別已經(jīng)出來了。那就是:偽類的效果可以通過添加一個實際的類來達到,而偽元素的效果則需要通過添加一個實際的元素才能達到,這也是為什么他們一個稱為偽類,一個稱為偽元素的原因。
總結(jié)
以上是生活随笔為你收集整理的CSS 属性 - 伪类和伪元素的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: border,padding,margi
- 下一篇: 【转】utf-8的中文是一个汉字占三个字