CSS屬性選取器的四種格式

來源:互聯網
上載者:User

屬性選取器(Attribute Selectors),或許你不應該對屬性選取器感到生疏,從本質上說,id跟類別選取器其實就是屬性選取器,只不過是選擇了id或者類的值(value)而已。

  屬性選取器的格式是元素後跟中括弧,中括弧內帶屬性,或者屬性運算式(不知道描述是否正確,自創的詞),比如h1[title], h1[title="Logo"]等,你可以從我下面的論述中看到4種具體形式。

注意 屬性選取器 ie6 不支援

1、簡易屬性選取器

  只顧其名不顧其值,這是簡易屬性選取器的特點。

  h1[class] {color: silver;}將會作用於任何帶class的h1元素,不管class的值是什麼。所以<h1 class="hoopla">Hello</h1>、<h1 class="severe">Serenity</h1>、<h1 class="fancy">Fooling</h1>的h1都會受到這條規則的影響。

  當然,這個“屬性”不僅僅是class或者id,可以是該元素所有合法屬性,比如img的alt,這樣img[alt]{css declarations here;}將會作用於任何帶有alt屬性的img元素。那麼a[href][title] {font-weight: bold;}呢?聰明的你一定已經知道,這會作用於同時帶href和title屬性的a元素,比如<a href="http://www.mb5u.com/" title="mb5u Home"></a>。

2、精確屬性值選取器

  id和類本質上就是精確屬性值選取器,沒錯,h1#logo等於h1[id="logo"]。如前所述,我們不要局限於id或者class,我們可以使用任何屬性!例如a[href="http://www.mb5u.com/"][title="W3C Home"] {font-size: 200%;}將會作用於<a href="http://www.mb5u.com/" title="mb5u Home"></a>。

3、部分屬性值選取器

  如其名,只要屬性值部分匹配(這裡的部分,實際上要匹配整個單詞)就會作用於該元素。讓我們來看個例子:

  <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"] 。

  需要注重的是,如我第一句就強調的,你需要匹配的是整個單詞,img[title~="Figure"] 不會匹配title= "Figure5:xxx說明"。

  另外,我做了個小小的測試,你把例子中的“Figure”改成“插圖”,把img[title~="Figure"] 改成img[title~="插圖"] ,在Firefox中依然可以匹配,不管編碼(encoding)是GB2312還是UTF-8。看來CSS對中文的支援還不賴。

4、非凡屬性選取器

  有點怪,這個選取器。它是這樣工作的,嗯,舉個例子比描述更輕易。

  *[lang|="en"] {color: white;},這條規則(rule)將會選擇屬性lang的值en或者en-打頭的元素。就是說,它可以匹配<h1 lang="en">Hello!</h1>、<p lang="en-us">Greetings!</p>和<div lang="en-au">G'day!</div>而不匹配<p lang="fr">Bonjour!</p>和<h3 lang="cy-en">Jrooana!</h3>。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.