CSS3屬性選擇器特性使用詳解

2021-09-27 11:24:24 字數 1378 閱讀 6447

css3除了引入動畫、濾鏡(用於特效)以及新的布局技術外,在選擇器(selector)方面也有增強。

屬性選擇器根據元素的屬性(attributes)來匹配。這可以是乙個單獨的屬性,比如[type],或者可以是乙個屬性和取值的組合,比如[type=checkbox] 或 [for=「email」]。

我們也可以用屬性選擇器來匹配屬性存在與否以及子字串。例如,我們可以在空格分隔開的列表中匹配屬性值,或者我們可以匹配以字串tel:開始的屬性值。我們甚至可以匹配帶連字元的屬性值如en-us。其中連字元匹配和空格分隔屬性值列表匹配早在css2中已有定義。

css3的增強在於新增了部分(partial)匹配規則。本篇將著重介紹新引入的屬性選擇器(attribute selectors)使用方法。

部分匹配

使用全屬性值來匹配是很常用的方法,不過在css3中我們可以使用部分匹配,語法格式是:

[att~=val]

這裡att代表屬性,val代表空格分隔開來的屬性值列表中的某乙個值。波浪線~表示部分匹配的語義。

比如:techbrood

我們可以使用[class~=friends]來匹配上述的a元素:

a[class~=friends]

以上方法適用於rel,data-*等以空格區分開來的屬性值列表。

連字元匹配

對於類似en-us以連字元(-)連線起來的屬性值,我們可以使用[attr|=val]來匹配。

比如以下html**:

lorem ipsum dolor sit amet, consectetur adipisicing ....

lorem ipsum dolor sit amet, consectetur adipisicing ....

lorem ipsum dolor sit amet, consectetur adipisicing ....

我們可以使用[class|=techbrood]來匹配上面的3個article元素:

[class|="techbrood"]
子字串匹配

我們還可以通過子字串來匹配屬性值,有點類似於正規表示式:

^= $= *=

從頭部匹配 從尾部匹配 包含某子字串

比如下面的html**:

call techbrood online support
我們可以使用如下**來匹配:

[href^="tel:"]
或者:

[href*="5888"]

css3 選擇器 CSS3選擇器詳解

css3在css2基礎上,增強或新增了許多特性,彌補了css2的眾多不足之處,使得web開發變得更為高效和便捷。比如說,同樣是乙個頭像,可能在低版本的瀏覽器中,頭像方的 在高版本的瀏覽器中,頭像是圓的。漸進增強和優雅降級之間的不同 面試題目 由於css3普遍存在相容性問題,為了避免因相容性帶來的干擾...

css3的新特性選擇器 屬性選擇器

自己學css的時候比較亂,這次趁著複習把css3的新特性選擇器和css2以前不怎麼用的選擇器做乙個總結 div id parent p i m a example p p id one i m a example p p i m a example p p i m a example p p i m...

CSS3選擇器 屬性選擇器

指定屬性名,但沒有確定任何屬性值 type text css div div title style div1div title name div2div title age div3div body 指定屬性名,並指定了該屬性的屬性值 其他 與上述相同 div title name 指定屬性名,具...