零、概览
CSS2支持的属性选择器用一个表达式[{属性 | 属性 {= | |= | ~=} 值}]
1.[class="a"]只能匹配class="a"的元素
2.[class~="a"]则可以匹配class="a"、class="a b"的元素
3.[lang|=en]则可以匹配lang="en"、lang="en-us"的元素。
CSS3新增*=、^=、$=三种匹配方式[{属性 | 属性 {*= | ^= | $=} 值}]:
1.*=表示模糊匹配,[href="163"]可以匹配href="163.com"、href="mail.163.com"等元素;
2.^=表示以指定字符开头,[href^="/"]则匹配href="/a/a.htm"、href="/b"的元素
3.$=表示以指定字符结尾,[scr$=".png"]则匹配所有png图片,如src="logo.png"
CSS3的属性选择器主要包括以下几种:
1.E[attr]:只使用属性名,但没有确定任何属性值;
2.E[attr="value"]:指定属性名,并指定了该属性的属性值;
3.E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“?”不能不写;
4.E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;
5.E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;
6.E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;
7.E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);
一、E[attr]:
如果你希望选择有某个属性的元素,而不论这个属性值是什么,你就可以使用这个属性选择器:
CSS Code复制内容到剪贴板- .demo a[id] {background: blue; color:yellow;font-weight:bold;}
也可以使用多属性进行选择元素,如E[attr1][attr2], 这样只要是同时具有这两属性的元素都将被选中:
CSS Code复制内容到剪贴板- .demo a[href][title] {background: yellow; color:green;}
注:IE6不支持这个选择器。
二、E[attr="value"]:
- .demo a[id="first"] {background: blue; color:yellow;font-weight:bold;}
注:属性和属性值必须完全匹配,特别是对于属性值是词列表的形式时,如:
test
- .demo a[class="links"]{color:red};
- .demo a[class="links item"]{color:red};
IE6不支持这个选择器。
三、E[attr~="value"]:
- .demo a[title~="website"]{background:orange;color:green;}
注:属性选择器中有波浪(?)时属性值有value时就相匹配,没有波浪(?)时属性值要完全是value时才匹配。
IE6不支持E[attr~="value"]属性选择器。
四、E[attr^="value"]:
- .demo a[href^="http://"]{background:orange;color:green;}
注:IE6不支持E[attr^="value"]选择器。
五、E[attr$="value"]:
- .demo a[href$="png"]{background:orange;color:green;}
注:IE6不支持E[attr$="value"]属性选择器。
六、E[attr*="value"]:
也就是说,只要你所选择的属性,其属性值中有这个"value"值都将被选中。
- .demo a[title*="site"]{background:black;color:white;}
注:IE6不支持E[attr*="value"]选择器。
七、E[attr|="value"]:
这个选择器会选择attr属性值等于value或以value-开头的所有元素。
- .demo a[lang|="zh"]{background:gray;color:yellow;}
注:常常用的地方是用来匹配语言,IE6不支持E[attr|="value"]选择器。
注释:
1.属性选择器除了IE6不支持外,其他的浏览器都能支持。
2.E[attr="value"]和E[attr*="value"]是最实用的,其中E[attr="value"]能帮我们定位不同类型的元素,特别是表单form元素的 *** 作,比如说input[type="text"],input[type="checkbox"]等,而E[attr*="value"]能在网站中帮助我们匹配不同类型的文件,比如说你的网站上不同的文件类型的链接需要使用不同的icon图标,用来帮助你的网站提高用户体验,就像前面的实例,可以通过这个属性给".doc",".pdf",".png",".ppt"配置不同的icon图标。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)