1. 程式人生 > 遊戲 >未來遊戲展6月14日登場 邀請艾比和喬爾演員主持

未來遊戲展6月14日登場 邀請艾比和喬爾演員主持

CSS 是用於網頁設計可用的最強大的工具之一。使用它我們可以在幾分鐘內改變一個網站的介面,而不用改變頁面的標籤。

好一段時間不用 CSS ,有一些基礎知識的記憶有點模糊了,今天再做一次總結記錄,方便日後回顧複習。

選擇器分類

在 CSS 中,選擇器可分為以下幾類:

  • 基本選擇器(通配選擇器、元素選擇器、類選擇器、ID 選擇器、群組選擇器)
  • 層次選擇器
  • 屬性選擇器
  • 偽類選擇器
  • 偽元素

基本選擇器比較好記,這裡就不浪費篇幅,主要是記錄一下後三、幾種選擇器。

層次選擇器

選擇器 型別 功能描述
E F 後代選擇器(包含選擇器) 選擇匹配的F元素,且匹配的F元素被包含在匹配的E元素內
E>F 子元素選擇器 選擇匹配的F元素,且匹配的F元素所匹配的E元素的子元素
E+F 相鄰兄弟選擇器 選擇匹配的F元素,且匹配的F元素緊位於匹配的E元素的後面
E~F 通用選擇器 選擇匹配的F元素,且位於匹配的E元素後的所有匹配的F元素
  • 在後代選擇器中,規則左邊的選擇器一端包括兩個或多個用空格分隔的選擇器。選擇器之間的空格是一種結合符(combinator)。每個空格結合符可以解釋為“... 在 ... 找到”、“... 作為 ... 的一部分”、“... 作為 ... 的後代”,但是要求必須從右向左讀選擇器。
  • 如果不希望選擇任意的後代元素,而是希望縮小範圍,只選擇某個元素的直接子元素
    ,請使用子元素選擇器(Child selector)。
  • 如果需要選擇緊接在另一個元素後的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器(Adjacent sibling selector)。

屬性選擇器

選擇器 功能描述
[attribute] 用於選取帶有指定屬性的元素。
[attribute=value] 用於選取帶有指定屬性和值的元素。
[attribute~=value] 用於選取屬性值中包含指定詞彙的元素。
[attribute|=value] 用於選取帶有以指定值開頭的屬性值的元素,該值必須是整個單詞。
[attribute^=value] 匹配屬性值以指定值開頭的每個元素。
[attribute$=value] 匹配屬性值以指定值結尾的每個元素。
[attribute**=value*] 匹配屬性值中包含指定值的每個元素。

如果希望選擇有某個屬性的元素,而不論屬性值是什麼,可以使用簡單屬性選擇器:

a[href] {}

還可以根據多個屬性進行選擇,只需將屬性選擇器連結在一起即可:

a[href][title] {}

除了選擇擁有某些屬性的元素,還可以進一步縮小選擇範圍,只選擇有特定屬性值的元素:

a[href='www.abc.com'] {}

也可以把多個屬性-值選擇器連結在一起來選擇一個文件:

a[href="www.abc.com"][title="abc"] {}

偽類選擇器

動態偽類選擇器

選擇器 型別 功能描述
E:link 連結偽類選擇器 選擇匹配的E元素,而且匹配元素被定義了超連結並未被訪問過。常用於連結錨點上
E:visited 連結偽類選擇器 選擇匹配的E元素,而且匹配元素被定義了超連結並已被訪問過。常用於連結錨點上
E:active 使用者行為選擇器 選擇匹配的E元素,且匹配元素被啟用。常用於連結錨點和按鈕上
E:hover 使用者行為選擇器 選擇匹配的E元素,且使用者滑鼠停留在元素E上。
E:focus 使用者行為選擇器 選擇匹配的E元素,而且匹配元素獲取焦點

目標偽類選擇器

選擇器 功能描述
E:target 選擇匹配E的所有元素,且匹配元素被相關URL指向

UI元素狀態偽類選擇器

選擇器 型別 功能描述
E:checked 選中狀態偽類選擇器 匹配選中的複選按鈕或者單選按鈕表單元素
E:enabled 啟用狀態偽類選擇器 匹配所有啟用的表單元素
E:disabled 不可用狀態偽類選擇器 匹配所有禁用的表單元素

結構偽類選擇器

選擇器 功能描述
E:first-child 作為父元素的第一個子元素的元素E。與E:nth-child(1)等同
E:last-child 作為父元素的最後一個子元素的元素E。與E:nth-last-child(1)等同
E:root 選擇匹配元素E所在文件的根元素。在HTML文件中,根元素始終是html,此時該選擇器與html型別選擇器匹配的內容相同
E F:nth-child(n) 選擇父元素E的第n個子元素F。其中n可以是整數(1,2,3)、關鍵字(even,odd)、可以是公式(2n+1),而且n值起始值為1,而不是0.
E F:nth-last-child(n) 選擇父元素E的倒數第n個子元素F。此選擇器與E:nth-child(n)選擇器計算順序剛好相反,但使用方法都是一樣的,其中:nth-last-child(1)始終匹配最後一個元素,與last-child等同
E:nth-of-type(n) 選擇父元素內具有指定型別的第n個E元素
E:nth-last-of-type(n) 選擇父元素內具有指定型別的倒數第n個E元素
E:first-of-type 選擇父元素內具有指定型別的第一個E元素,與E:nth-of-type(1)等同
E:last-of-type 選擇父元素內具有指定型別的最後一個E元素,與E:nth-last-of-type(1)等同
E:only-child 選擇父元素只包含一個子元素,且該子元素匹配E元素
E:only-of-type 選擇父元素只包含一個同類型子元素,且該子元素匹配E元素
E:empty 選擇沒有子元素的元素,而且該元素也不包含任何文字節點

否定偽類選擇器

選擇器 功能描述
E:not(F) 匹配所有除元素F外的E元素

總結

CSS 可以說是前端的基本技能,希望我們都能夠通過 CSS 為自己繪製色彩繽紛的前端生涯!

~

~
本文完

學習有趣的知識,結識有趣的朋友,塑造有趣的靈魂!

大家好!我是〖程式設計三昧〗的作者 隱逸王,我的公眾號是『程式設計三昧』,歡迎關注,希望大家多多指教!

知識與技能並重,內力和外功兼修,理論和實踐兩手都要抓、兩手都要硬!