可以使用CSS选择器a[href^="http:"], a[href^="mailto:"]来匹配文档中的所有外部链接和邮件链接,但有没有办法在选择器的引号部分中使用"或"语句,如下所示:a[href^="(http|mailto):"]?
据我所知,没有办法做你所要求的.在CSS选择器规范中,管道字符用于与属性选择器一起使用时的不同内容.它用作命名空间分隔符.
根据W3C上的选择器规范:
属性选择器中的属性名称作为CSS限定名称给出:先前声明的名称空间前缀可以预先添加到由名称空间分隔符"竖线"(|)分隔的属性名称.为了与XML建议中的命名空间保持一致,默认命名空间不适用于属性,因此没有命名空间组件的属性选择器仅适用于没有命名空间的属性(相当于"| attr";这些属性据说在"每个元素类型的命名空间分区").星号可以用于名称空间前缀,指示选择器匹配所有属性名称而不考虑属性的名称空间.
CSS examples:
@namespace foo "http://www.example.com";
[foo|att=val] { color: blue }
[*|att] { color: yellow }
[|att] { color: green }
[att] { color: green }
Run Code Online (Sandbox Code Playgroud)
第一个规则将仅匹配" http://www.example.com "命名空间中具有属性att的元素,值为"val".
第二个规则将仅匹配具有属性att的元素,而不管属性的名称空间(包括没有名称空间).
最后两个规则是等效的,并且仅匹配具有属性att的元素,其中属性不在命名空间中.
资料来源:http://www.w3.org/TR/selectors/#attrnmsp
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |