中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3的偽類和偽元素的區別有哪些

發布時間:2021-12-22 11:04:51 來源:億速云 閱讀:143 作者:iii 欄目:web開發

本篇內容主要講解“css3的偽類和偽元素的區別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“css3的偽類和偽元素的區別有哪些”吧!

區別:1、偽類用于已有元素處于某種狀態時為其添加對應的樣式,而偽元素用于創建一些不在DOM樹中的元素并為其添加樣式;2、偽元素會創建一個文檔樹之外的元素,偽類不會;3、偽元素使用雙冒號“::”表示,偽類使用單冒號“:”表示。

本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

什么是偽類和偽元素

提到“偽”字,你想到了什么?“假的”,“汪精衛偽政府”,“不存在的”······

偽類:用于已有元素處于某種狀態時(滑動、點擊等)為其添加對應的樣式,這個狀態是根據用戶行為而動態變化的。我的理解就是:本身不存在,只有在特定的情況(滑動、點擊)下才會被觸發的狀態,可以用css去修飾這個狀態下的對象。例如:當用戶懸停在指定元素時,可以通過:hover來描述這個元素的狀態,雖然它和一般css相似,可以為已有元素添加樣式,但是它只有處于DOM樹無法描述的狀態下才能為元素添加樣式,所以稱為偽類。

偽元素:用于創建一些不在DOM樹中的元素,并為其添加樣式。例如,我們可以通過:before來在一個元素之前添加一些文本,并為這些文本添加樣式,雖然用戶可以看見這些文本,但是它實際上并不在DOM文檔中。

偽類和偽元素的區別:

請看下面例子:

例一:

<ul>
 <li>第一列</li>
 <li>第二列</li>
</ul>

如果我們想要給第一列添加樣式,我們可以通過以下兩種方式:

(1)給第一列添加一個類,并在該類中定義樣式:

<ul>
  <li class="first-item">第一列</li> 
  <li>第二列</li></ul>
</ul>

.first-item{color:orange;}

(2)如果不用添加類的方法,我們可以通過給第一個<li>設置:first-child偽類來為其添加樣式,這時,被修飾的li依然存在于DOM樹中

<ul>
  <li>第一個</li>
  <li>第二個</li>
</ul>


li:first-child{color:orage;}

例二:

<p>Hello World, and wish you have a good day!</p>

想要給該段落第一個字母添加樣式,可以有以下方法:

(1)給第一個字母包裹<span>元素,并給span設置樣式:

<p>
  <span class="first">H</span>ello World, and wish you have a good day!
</p> 


.first{color:red;}

(2)如果不創建<span>元素,我們可以通過給<p>元素設置P:first-letter偽元素為其添加樣式,這時看起來像創建了一個虛擬的span元素并為其添加樣式,但實際上在DOM數中并不存在這個span元素

<p>Hello World, and wish you have a good day!</p>

p:first-letter{color:red;}

從上述例子中我們可以看出:偽類的操作對象是文檔樹中已有的元素,而偽元素則創建了一個文檔樹外的元素。因此,偽類與偽元素的區別在于:有沒有創建一個文檔樹之外的元素。

偽元素使用單冒號還是雙冒號?

css3規范中要求使用雙冒號(::)表示偽元素,以此來區分偽類和偽元素,比如::before和::after等偽元素使用雙冒號(::),:hover和:active偽類使用單冒號(:)。除了一些低于IE8版本的瀏覽器外,大部分瀏覽器都支持偽元素的雙冒號(::)表示方法。

然而除了少部分偽元素如::backdrop必須使用雙冒號(::),大部分偽元素都支持單冒號和雙冒號的寫法,比如::after,寫成:after一樣可以正常運行。

w3c標準中說到,雖然CSS3標準要求偽元素使用雙冒號的寫法,但也依然支持單冒號的寫法。為了向后兼容,我們建議你在目前還是使用單冒號的寫法。

常用偽類有:

:active 選擇正在被激活的元素(匹配指定狀態)

:hover 選擇被鼠標懸浮著的元素(匹配指定狀態)

:link 選擇未被訪問的元素 (匹配指定狀態)

:visited 選擇已被訪問的元素(匹配指定狀態)

:first-child 選擇滿足是其父元素的第一個子元素的元素

:lang(value) 選擇帶有指定 lang 屬性的元素

:focus 選擇擁有鍵盤輸入焦點的元素

:enable 選擇每個已啟動的元素

:disable 選擇每個已禁止的元素

:checked 選擇每個被選中的元素

:target 選擇當前的錨點元素

:first-of-type 選擇滿足是其父元素的第一個某類型子元素的元素

:last-of-type 選擇滿足是其父元素的最后一個某類型子元素的元素

:only-of-type 選擇滿足是其父元素的唯一一個某類型子元素的元素

:nth-of-type(n) 選擇滿足是其父元素的第n個某類型子元素的元素

:nth-last-of-type(n) 選擇滿足是其父元素的倒數第n個某類型的元素

:only-child 選擇滿足是其父元素的唯一一個子元素的元素

:last-child 選擇滿足是其父元素的最后一個元素的元素

:nth-child(n) 選擇滿足是其父元素的第n個子元素的元素

:nth-last-child(n) 選擇滿足是其父元素的倒數第n個子元素的元素

:empty 選擇滿足沒有子元素的元素

:in-range 選擇滿足值在指定范圍內的元素

:out-of-range 選擇值不在指定范圍內的元素

:invalid 選擇滿足值為無效值的元素

:valid 選擇滿足值為有效值的元素

:not(selector) 選擇不滿足selector的元素

:optional 選擇為可選項的表單元素,即沒有“required”屬性

:read-only 選擇有"readonly"的表單元素

:read-write 選擇沒有"readonly"的表單元素

:root 選擇根元素

常用偽元素

::first-letter 選擇指定元素的第一個單詞

::first-line 選擇指定元素的第一行

::after 在指定元素的內容前面插入內容

::before 在指定元素的內容后面插入內容

::selection 選擇指定元素中被用戶選中的內容

到此,相信大家對“css3的偽類和偽元素的區別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

休宁县| 玉田县| 安图县| 吉林省| 梁平县| 宜良县| 丰顺县| 彭州市| 仪征市| 文化| 江达县| 保康县| 洮南市| 桦川县| 麦盖提县| 江陵县| 商洛市| 肇州县| 商丘市| 安宁市| 英吉沙县| 巴彦淖尔市| 仲巴县| 彭山县| 马关县| 轮台县| 阿坝| 乌恰县| 玉溪市| 达孜县| 黑水县| 老河口市| 大邑县| 武汉市| 遂川县| 清水河县| 介休市| 类乌齐县| 化州市| 科技| 蓬莱市|