CSS中的選擇器種類總結及效率比較

2022-09-25 04:06:09 字數 2189 閱讀 4162

我們都知道,css具有疊加性(同乙個元素被多條樣式規則指定),繼承性(後代元素會繼承前輩元素的一些樣式和屬性)和優先順序 (由於css的疊加性和繼承性,將產生優先順序,這指的是哪條樣式規則會最終作用於指定的元素,他只遵循一條規則,指定的越具體,優先順序越高)

由上可知,選擇器指定的越具體,那麼他的優先順序就越高,

在這裡,我們來總結一下css的選擇器:

一、基本選擇器(標籤選擇器、通用選擇器、類和id選擇器)

選擇器描述

css版本

e標籤選擇器,匹配所有使用e標籤的元素

*通用元素選擇器,匹配任何元素

.info

class選擇器,匹配所有class屬性中包含info的元素

#footer

id選擇器,匹配所有id屬性等於footer的元素

二、多元素的組合選擇器(標籤選擇器[群組選擇器]、後代選擇器、子元素選擇器、相鄰選擇器)

選擇器描述

css版本

e,f多元素選擇器,同時匹配所有e元素或f元素,e和f之間用逗號隔開

e f包含選擇符,匹配所有被e元素包含的f元素

e>f

子元素選擇器,匹配所有e元素的兒子元素f

e+f毗鄰元素選擇器,匹配所有緊隨e元素之後的同級元素f

e~f匹配任何e標籤之後的同級f標籤

三、屬性選擇器

選擇器描述

css版本

e[attribute]

匹配所有具有attribute屬性的e元素,不考慮它的值。(注意:e在此處可以省略,比如「[cheacked]」。以下同。)

2.1e[attribute=value]

匹配所有attribute屬性等於「value」的e元素

2.1e[attribute~=value]

匹配所有attribute屬性具有多個空格分隔的值、其中乙個值等於「value」的e元素

2.1e[attribute^=value]

匹配任何e標籤之後的同級f標籤

2.1e[attribute$=value]

匹配所有attribute屬性值包含有「value」的e元素

3e[attribute*=value]

yoqqvgbv 匹配所有attribute屬性值是以"value"結束的e元素

3四、偽類選擇器

五、偽元素選擇器

選擇器描述

css版本

e:first-line

匹配所有e標籤內的第一行

2.1e:first-letter

匹配所有e標籤內的第乙個字母

2.1e:before

在e標籤之前插入生成的內容

2.1e:after

在e標籤之後插入生成的內容

2.1在這裡,我們需要知道的是瀏覽器是如何讀取選擇器的。chris coyier曾在《efficiently rendering css》一文中說過「瀏覽器讀取你的選擇器,遵循的原則是從選擇器的右邊到左邊讀取。換句話說,瀏覽器讀取選擇器的順序是由右到左進行」。

選擇器的最後一部分,也就是選擇器的最右邊(在這個例子中就是a[title]部分)部分被稱為&ld程式設計客棧quo;關鍵選擇器」,它將決定你的選擇器的效率如何?是高還是低。

那麼如何讓關鍵選擇器更有效,效能化更高呢?其實很簡單,主要把握一點「越具體的關鍵選擇器,其效能越高」

選擇器有乙個固有的效率,我們來看steve souders給排的乙個順序:

1.id選擇器(#myid)

2.類選擇器(.myclassname)

3.標籤選擇器(div,h1,p)

4.相鄰選擇器(h1+p)

5.子選擇器(ul > li)

6.後代選程式設計客棧擇器(li a)

7.萬用字元選擇器(*)

8.屬性選擇器(a[rel="external"])

9.偽類選擇器(a:hover,li:nth-child)

上面九種選擇器的效率是從高到低排下來的,基中id選擇器的效率是最高,而偽類選擇器的效率則是最低的。

我們來對比一下這幾個例項,看看誰的效率是最高的:

1.  #myid span

2.  span #myid

由上面的例子,我們可以知道,下面的效率要比上面的高。因為最右邊的關鍵選擇器是最具體的,也符合上述的選擇器優先順序順序。

本文標題: css中的選擇器種類總結及效率比較

本文位址: /web/css/84589.html

css中選擇器種類總結

b 1 型別選擇器 即html標籤選擇器 b 選擇器名稱 屬性 屬性值 如 h2 color white color red 關注點 不需要 號,不需要 號,就是 html標籤名稱 屬性 屬性值 color b 2 屬性選擇器 html標籤中的屬性選擇器,比如div 有align屬性 b 選擇器名稱...

Css選擇器的種類

選擇器有 全域性選擇器,組合選擇器,後代選擇器,子元素選擇器,巢狀選擇器,標籤選擇器,類選擇器,id選擇器,偽類選擇器這幾種。全域性選擇器 設定所有標籤使用同一樣式,用表示 全域性選擇器語法 全域性選擇器 設定所有標籤使用同一樣式,用表示 全域性選擇器語法 顯示效果 html 我是段落紅色 css ...

css選擇器種類介紹

1.標籤選擇器 用標籤名作為選擇器,就是指給同名的標籤統一加上外觀樣式,這種選擇器影響範圍大,一般用來做一些通用設定,或者層級選擇器中 例 div 這是第乙個div 這是第二個div 2.類選擇器 1.可使用class的屬性,把html網頁中的標籤進行分類,然後根據類名稱來進行設定 2.注意 1.使...