我了解CSS规则可以针对指定属性值的元素进行定位,例如:
input[type="text"] {}
我可以制定一个规则来针对那些省略某些属性的元素吗?例如,我可以针对没有 href 属性的元素或没有指定 type 属性的元素吗?
我了解CSS规则可以针对指定属性值的元素进行定位,例如:
input[type="text"] {}
我可以制定一个规则来针对那些省略某些属性的元素吗?例如,我可以针对没有 href 属性的元素或没有指定 type 属性的元素吗?
a:link { }
。a:not([href])
input:not([href=""])
input:not([href~=""])
但对于使用多个a标签作为标准代码块(不是我的想法)的.scss文件,这是唯一的解决方案。对于链接,您可以简单地使用:
a { color: red; }
a:link { color: green; }
fiddle: http://jsfiddle.net/ZHTXS/ 不需要使用JavaScript。
对于表单属性,请使用上面提到的非属性模式input:not([type])
,如果您需要支持旧版本的IE,则可能需要添加一个类并使用与条件注释链接的IE特定样式表。
您可以随时为a和a href设置不同的样式
<a>
标签必须要有href属性才能算是有效的HTML。 - Wesley Murchfoo:not(foo[*]){ color: red; }
这样做,但你可以使用标准的 CSS 级联,如foo{ color: red; } foo[green]{ color: green; } foo[blue]{ color: blue; }
来定义一个“默认”值。这有一个很好的副作用,即使任何其他/未识别的值都会回退到默认值,而不是定义像foo[normal],foo[default]{ color:red; }
这样的东西。 - Beejor