CSS 屬性 選擇器
一.什么是屬性選擇器
屬性選擇器就是指,利用html的屬性標簽作為選擇器,其作用是對帶有指定屬性的HTML元素設置樣式。
屬性選擇器可以為擁有指定屬性的HTML元素設置樣式,而不僅限于class和id屬性。
溫馨提示:如果使用的是IE瀏覽器,在IE6或更低版本是不支持屬性選擇的。IE7也只有在規(guī)定了!DOCTYPE時,才支持屬性選擇器的使用。
二、屬性選擇器的語法
屬性選擇器用[]顯示,下面的例子為帶有title屬性的所有元素設置樣式:
[title]
{
color:red;
}
簡易屬性選擇器
只顧其名不顧其值,這是簡易屬性選擇器的特點。
h1[class] {color: silver;}將會作用于任何帶class的h1元素,不管class的值是什么。所以<h1 class="hoopla">Hello</h1>、<h1 class="severe">Serenity</h1>、<h1 class="fancy">Fooling</h1>的h1都會受到這條規(guī)則的影響。
當然,這個“屬性”不僅僅是class或者id,可以是該元素所有合法屬性,比如img的alt,這樣img[alt]{css declarations here;}將會作用于任何帶有alt屬性的img元素。那么a[href][title] {font-weight: bold;}呢?聰明的你一定已經(jīng)知道,這會作用于同時帶href和title屬性的a元素,比如<a title="php Home"></a>。
精確屬性值選擇器
id和類本質(zhì)上就是精確屬性值選擇器,沒錯,h1#logo等于h1[id="logo"]。如前所述,我們不要局限于id或者class,我們可以使用任何屬性!例如a[W3C Home"] {font-size: 200%;}將會作用于<a title="php Home"></a>。
部分屬性值選擇器
如其名,只要屬性值部分匹配(這里的部分,實際上要匹配整個單詞)就會作用于該元素。讓我們來看個例子:
<p class="urgent warning">When handling plutonium, care must be taken to avoid the formation of a critical mass.</p>p[class~="warning"] {font-weight: bold;} ? ?
和
p[class~="urgent"] {font-weight: bold;} ? ?
中任何一條都可以讓這個p的字體變粗。
該選擇器十分有用,比如你要樣式化插圖,其title中都含字符串”Figure”,如 title= "Figure 5:xxx說明",則你可以使用img[title~="Figure"] 。
[title]:選擇帶有title屬性的元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <style> h1[title]{ color:red; } </style> </head> <body> <h1 title = "屬性選擇器">標題<h1> <p>這是內(nèi)容</p> <h1>標題<h1> <p>這是內(nèi)容</p> </body> </html>
[title='hello']:選擇屬性是title并且值是hello的元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <style> h1[title = "hello"]{ color:red; } </style> </head> <body> <h1 title = "屬性選擇器">標題<h1> <p>這是內(nèi)容</p> <h1 title = "hello">標題<h1> <p>這是內(nèi)容</p> </body> </html>
[title*='hello']:選擇屬性是title并且其中包含了hello的元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <style> h1[title*="hello"]{ color:red; } </style> </head> <body> <h1 title = "hellocss">標題<h1> <p>這是內(nèi)容</p> <h1 title = "hello css">標題<h1> <p>這是內(nèi)容</p> </body> </html>