• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            [學(xué)習筆記] CSS 屬性選擇器詳解

            Posted on 2011-05-28 21:17 RTY 閱讀(205) 評論(0)  編輯 收藏 引用 所屬分類: CSS

            CSS 2 引入了屬性選擇器。

            屬性選擇器可以根據(jù)元素的屬性及屬性值來選擇元素。

            簡單屬性選擇

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

            例子 1

            如果您希望把包含標題(title)的所有元素變?yōu)榧t色,可以寫作:

            *[title] {color:red;}

            親自試一試

            例子 2

            與上面類似,可以只對有 href 屬性的錨(a 元素)應(yīng)用樣式:

            a[href] {color:red;}

            親自試一試

            例子 3

            還可以根據(jù)多個屬性進行選擇,只需將屬性選擇器鏈接在一起即可。

            例如,為了將同時有 href 和 title 屬性的 HTML 超鏈接的文本設(shè)置為紅色,可以這樣寫:

            a[href][title] {color:red;}

            親自試一試

            例子 4

            可以采用一些創(chuàng)造性的方法使用這個特性。

            例如,可以對所有帶有 alt 屬性的圖像應(yīng)用樣式,從而突出顯示這些有效的圖像:

            img[alt] {border: 5px solid red;}

            親自試一試

            提示:上面這個特例更適合用來診斷而不是設(shè)計,即用來確定圖像是否確實有效。

            例子 5:為 XML 文檔使用屬性選擇器

            屬性選擇器在 XML 文檔中相當有用,因為 XML 語言主張要針對元素和屬性的用途指定元素名和屬性名。

            假設(shè)我們?yōu)槊枋鎏栂敌行窃O(shè)計了一個 XML 文檔。如果我們想選擇有 moons 屬性的所有 planet 元素,使之顯示為紅色,以便能更關(guān)注有 moons 的行星,就可以這樣寫:

            planet[moons] {color:red;}

            這會讓以下標記片段中的第二個和第三個元素的文本顯示為紅色,但第一個元素的文本不是紅色:

            <planet>Venus</planet> <planet moons="1">Earth</planet> <planet moons="2">Mars</planet> 

            查看效果

            根據(jù)具體屬性值選擇

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

            例子 1

            例如,假設(shè)希望將指向 Web 服務(wù)器上某個指定文檔的超鏈接變成紅色,可以這樣寫:

            a[] {color: red;}

            親自試一試

            例子 2

            與簡單屬性選擇器類似,可以把多個屬性-值選擇器鏈接在一起來選擇一個文檔。

            a[] {color: red;}

            這會把以下標記中的第一個超鏈接的文本大小加倍,但是第二個或第三個鏈接不受影響:

            <a  title="W3School">W3School</a> <a  title="CSS">CSS</a> <a  title="HTML">HTML</a> 

            親自試一試

            例子 3

            同樣地,XML 語言也可以利用這種方法來設(shè)置樣式。

            下面我們再回到行星那個例子中。假設(shè)只希望選擇 moons 屬性值為 1 的那些 planet 元素:

            planet[moons="1"] {color: red;}

            上面的代碼會把以下標記中的第二個元素變成紅色,但第一個和第三個元素不受影響:

            <planet>Venus</planet> <planet moons="1">Earth</planet> <planet moons="2">Mars</planet> 

            查看效果

            屬性與屬性值必須完全匹配

            請注意,這種格式要求必須與屬性值完全匹配。

            如果屬性值包含用空格分隔的值列表,匹配就可能出問題。

            請考慮一下的標記片段:

            <p class="important warning">This paragraph is a very important warning.</p> 

            如果寫成 p[class="important"],那么這個規(guī)則不能匹配示例標記。

            要根據(jù)具體屬性值來選擇該元素,必須這樣寫:

            p[class="important warning"] {color: red;}

            親自試一試

            根據(jù)部分屬性值選擇

            如果需要根據(jù)屬性值中的詞列表的某個詞進行選擇,則需要使用波浪號(~)。

            假設(shè)您想選擇 class 屬性中包含 important 的元素,可以用下面這個選擇器做到這一點:

            p[class~="important"] {color: red;}

            親自試一試

            如果忽略了波浪號,則說明需要完成完全值匹配。

            部分值屬性選擇器與點號類名記法的區(qū)別

            該選擇器等價于我們在類選擇器中討論過的點號類名記法。

            也就是說,p.important 和 p["important"] 應(yīng)用到 HTML 文檔時是等價的。

            那么,為什么還要有 "~=" 屬性選擇器呢?因為它能用于任何屬性,而不只是 class。

            例如,可以有一個包含大量圖像的文檔,其中只有一部分是圖片。對此,可以使用一個基于 title 文檔的部分屬性選擇器,只選擇這些圖片:

            img[title~="Figure"] {border: 1px solid gray;}

            這個規(guī)則會選擇 title 文本包含 "Figure" 的所有圖像。沒有 title 屬性或者 title 屬性中不包含 "Figure" 的圖像都不會匹配。

            親自試一試

            子串匹配屬性選擇器

            下面為您介紹一個更高級的選擇器模塊,它是 CSS2 完成之后發(fā)布的,其中包含了更多的部分值屬性選擇器。按照規(guī)范的說法,應(yīng)該稱之為“子串匹配屬性選擇器”。

            很多現(xiàn)代瀏覽器都支持這些選擇器,包括 IE7。

            下表是對這些選擇器的簡單總結(jié):

            類型描述
            [abd^="def"]選擇 abc 屬性值以 "def" 開頭的所有元素
            [abd$="def"]選擇 abc 屬性值以 "def" 結(jié)尾的所有元素
            [abd*="def"]選擇 abc 屬性值中包含子串 "def" 的所有元素

            可以想到,這些選擇有很多用途。

            舉例來說,如果希望對指向 W3School 的所有鏈接應(yīng)用樣式,不必為所有這些鏈接指定 class,再根據(jù)這個類編寫樣式,而只需編寫以下規(guī)則:

            a[href*="w3school.com.cn"] {color: red;}

            親自試一試

            提示:任何屬性都可以使用這些選擇器。

            特定屬性選擇類型

            最后為您介紹特定屬性選擇器。請看下面的例子:

            *[lang|="en"] {color: red;}

            上面這個規(guī)則會選擇 lang 屬性等于 en 或以 en- 開頭的所有元素。因此,以下示例標記中的前三個元素將被選中,而不會選擇后兩個元素:

            <p lang="en">Hello!</p> <p lang="en-us">Greetings!</p> <p lang="en-au">G'day!</p> <p lang="fr">Bonjour!</p> <p lang="cy-en">Jrooana!</p> 

            親自試一試

            一般來說,[att|="val"] 可以用于任何屬性及其值。

            假設(shè)一個 HTML 文檔中有一系列圖片,其中每個圖片的文件名都形如 figure-1.jpg 和 figure-2.jpg。就可以使用以下選擇器匹配所有這些圖像:

            img[src|="figure"] {border: 1px solid gray;}

            親自試一試

            當然,這種屬性選擇器最常見的用途還是匹配語言值。

            99久久精品国产麻豆| 国产精品久久久久久久| 久久久久久毛片免费看| 久久se精品一区二区影院 | 欧美一级久久久久久久大| 久久人人爽人人精品视频| 精品国产日韩久久亚洲| 久久精品国产99久久无毒不卡| 久久精品国产亚洲麻豆| 久久99这里只有精品国产| 久久精品成人免费看| 亚洲欧洲久久久精品| 精品久久香蕉国产线看观看亚洲| 久久播电影网| 久久AV高清无码| 欧美久久久久久| 国产精品久久久久久久午夜片| 国产精品久久久久蜜芽| 91精品久久久久久无码| 久久亚洲AV成人无码国产| 精品久久国产一区二区三区香蕉 | 中文字幕精品久久久久人妻| 久久精品麻豆日日躁夜夜躁| 亚洲精品无码久久毛片| 久久国产香蕉视频| 久久久久亚洲精品天堂| 欧美日韩精品久久免费| 婷婷久久综合九色综合绿巨人| 成人国内精品久久久久影院| 亚洲中文字幕无码久久精品1| 久久综合色区| 国产精品免费看久久久香蕉| 国产麻豆精品久久一二三| 久久久久亚洲AV成人网人人网站| 久久无码一区二区三区少妇| 久久精品国产影库免费看| 久久这里只有精品18| 欧美黑人又粗又大久久久| 99精品国产99久久久久久97| 日韩人妻无码一区二区三区久久99| 国产一级做a爰片久久毛片|