有没有CSSselect器<a>元素缺乏href属性?
我明白,CSS规则可以指定由属性值指定的元素,例如:
input[type="text"] {}
我可以制定一个规则,针对那些省略某个属性的元素吗? 例如,我可以定位缺乏href的元素或不指定types的元素吗?
你可以遵循这个模式:
a:not([href]) input:not([type])
属性select器用于select具有指定属性的元素。
:not
支持所有的现代浏览器和IE9 +,如果你需要IE8或更低的支持,你运气不好。
对于链接,你可以简单地使用:
a { color: red; } a:link { color: green; }
小提琴: http : //jsfiddle.net/ZHTXS/不需要JavaScript。
对于表单属性,使用上面提到的NOT属性模式input:not([type])
,如果你需要支持旧版本的IE,我可能会添加一个类,并使用与条件注释链接的IE特定的样式表。
您可以随时将不同的样式设置为a和href
检查这个: http : //jsfiddle.net/uy2sj/
这个简单的答案。
没有。
如果你想要我提供这个解决scheme,你可以通过JavaScript来做到这一点?
但CSS的黑客
(但是,我只是想到CSS的“哈克”方式)。
采取这种情况…你想要任何没有href的<a>
标签被涂成红色。
例如,你可以假设你将会拥有的唯一属性是:
- ALT
- 标题
- HREF
- 目标等
你可以做的是为锚标签创build一个全局规则。 例如
a { color: red; }
然后,您只需创build一个规则,该规则将在声明之后覆盖此全局规则,以满足您所期望的每个属性。
所以你会有
a[href] { color: blue; }
现在你会知道任何缺lesshref的标签都是红色的。
原来的问题问,
我可以制定一个规则,针对那些省略某个属性的元素吗?
不,你不能! 没有跨浏览器,使用CSS来省略属性的目标 /select元素的方式。 因此,为什么我觉得我提出的解决scheme是一种黑客行为,因为它违背了问题所提出的问题。