偽類與偽元素

偽類與偽元素的出現(xiàn)是為了描述一些現(xiàn)有CSS無法描述的東西,比如“段落的第一行”、“文章首字母”

偽類:用于操作一些已經在文檔樹中存在的元素

偽元素:用于創(chuàng)建一些不在文檔樹中的元素

常見的偽類:

(1)表示狀態(tài):

:link? ? 選擇未訪問的鏈接,

:visited?????選擇已訪問的鏈接,

:hover? ? 選擇鼠標指針移入的鏈接,

:active? ? 被激活的鏈接,即按下單擊鼠標左鍵后的鏈接,

:focus? ? 選擇獲取焦點的輸入字段

前四個是鏈接狀態(tài)的偽類,在設置的時候必須按照上面的順序來設置,記憶技巧是:

L(:link)OV(:visited)E?????H(:hover)A(:active)TE ——愛恨法則

(2)結構化偽類:(理解:first-child以及:first-of-type的區(qū)別就能很好的理解其他結構化偽類)

:not(selector)? ? 用于選擇所有selector之外的元素

:first-child? ? 用于匹配所有或指定父元素的第一個規(guī)定類型子元素,要注意,匹配成功的條件必須是第一個子元素,以及是規(guī)定類型,否則匹配失敗

:last-child? ? 略

:first-of-type? ? 匹配body或指定父元素的所有規(guī)定類型元素中出現(xiàn)的第一個元素

:last-of-type? ? 略

:nth-child(num)? ? :nth-child(1)跟:first-child的作用是一致的。括號內還可以引入公式或是關鍵字,比如odd,even以及an+b等類似的公式

:nth-last-child(num)? ? 和:nth-child(num)作用類似,但是數字是倒數的

:nth-of-type? ? :nth-of-type(1)跟:first-of-type的作用是一致的。括號內還可以引入公式或是關鍵字,比如odd,even以及an+b等類似的公式

:only-of-type????當元素是其父元素特定類型的子元素中唯一一個時,:only-child匹配該元素;

:only-child????當元素是其父元素中唯一一個子元素時,:only-child匹配該元素;

:target????當URL帶有錨名稱,指向文檔內某個具體的元素時,:target匹配該元素;

(3)表單相關偽類:

:checked? ? 匹配被選中的input元素,這個input元素包括radio和checkbox

:default? ? 匹配默認選中的元素

:disabled? ? 匹配禁用的表單元素

:empty? ? 匹配沒有子元素的元素。如果元素中含有文本節(jié)點、html元素或者一個空格,匹配失敗

:enabled? ? 匹配沒有禁用屬性的表單元素

:indeterminate? ? 匹配某組未被選中的單選框或復選框

:valid? ? 匹配條件驗證正確的表單元素

:invalid? ? 略

::optional????匹配是具有optional屬性的表單元素。當表單元素沒有設置為required時,即為optional屬性;

:required????匹配設置了required屬性的表單元素;

:read-write????匹配處于編輯狀態(tài)的元素。input,textarea和設置了contenteditable的HTML元素獲取焦點時即處于編輯狀態(tài);

:lang????匹配設置了特定語言的元素,設置特定語言可以通過為了HTML元素設置lang=””屬性,設置meta元素的charset=””屬性,或者是在http頭部上設置語言屬性;

常見的偽元素:

:before? ? 在元素前加入一個新元素,新元素內容由content屬性決定,可以是純文本,也可以用content:url()方式引入圖片,所有在該選擇器中的規(guī)則都是用來描述這個新元素的

:after? ? 略

:first-letter????選擇每個

元素的第一個字母

:first-line????選擇每個

元素的第一行

偽類與偽元素在W3C中的定義其實意思是一樣的,一個是給選擇器添加效果,一個是將效果添加給選擇器,換言之,其實他們就是為了讓選擇器有了更強大的描述能力。


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 本文轉載自:眾成翻譯譯者:為之漫筆鏈接:http://www.zcfy.cc/article/239原文:http...
    極樂君閱讀 7,537評論 1 62
  • 偽類: 偽類用于當已有元素處于的某個狀態(tài)時,為其添加對應的樣式,這個狀態(tài)是根據用戶行為而動態(tài)變化的.比如說,當用戶...
    葶寳寳閱讀 1,054評論 1 13
  • 前言 一直把偽元素和偽類混為一談,這次做了一下這個區(qū)分;借鑒文章:https://segmentfault.com...
    BULL_DEBUG閱讀 303評論 0 1
  • 偽類 偽類用于當已有元素處于的某個狀態(tài)時,為其添加對應的樣式,這個狀態(tài)時根據用戶行為而動態(tài)變化的。 1. a 元素...
    VirtualX閱讀 899評論 0 0
  • 每日寫反思,今天不禁再次想起,自己為了什么而寫? 前段時間,有一天,自己打算開始每天都記錄自己的時間開...
    耐心長閱讀 158評論 0 0

友情鏈接更多精彩內容