是否有针对缺少属性的元素的 CSS 选择器?
据我了解,CSS 规则可以针对由属性值指定的元素,例如:
input[type="text"] {}
我可以制定针对省略某个属性的元素的规则吗?例如,我可以定位缺少 href 的元素或未指定类型的元素吗?
I understand that css rules can target elements specified by attribute values, e.g.:
input[type="text"] {}
Can I make a rule that targets elements which omit a certain attribute? For example, can I target elements that lack an href or elements that don't specify a type?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以遵循以下模式:
属性选择器 用于选择具有指定属性的元素。
所有现代浏览器和 IE9+ 都支持
:not
,如果你需要 IE8 或更低版本的支持,那你就不走运了。You can follow this pattern:
The attribute selector is used to select elements with the specified attribute.
:not
is supported in all modern browsers and IE9+, if you need IE8 or lower support you're out of luck.唯一对我有用的解决方案是将
a:link { }
放在我的代码中。我也尝试过
a:not([href])
输入:not([href=""])
input:not([href~=""])
但是对于具有多个 a 标记用作标准代码块的 .scss 文件(不是我的想法),这是唯一的解决方案。
The only solution that worked for me was to place
a:link { }
within my code.I also tried
a:not([href])
input:not([href=""])
input:not([href~=""])
But for a .scss file with multiple a tags used as standard code blocks (not my idea), this was the only solution.
对于链接,您可以简单地使用:
fiddle: http://jsfiddle.net/ZHTXS/ 不需要 JavaScript。
对于表单属性,请使用上面提到的 not 属性模式
input:not([type])
如果您需要支持旧版本的 IE,我可能会添加一个类并使用 IE 特定的样式与条件注释链接的表。For links you can simply use:
fiddle: http://jsfiddle.net/ZHTXS/ no need for javascript.
For form attributes, use the not attribute pattern noted above
input:not([type])
and if you need to support older versions of IE, I'd probably add a class and use an IE specific style sheet linked with conditional comments.您始终可以为 a 和 a href 设置不同的样式
检查这一点:
http://jsfiddle.net/uy2sj/
You can always set different style to a and a href
Check this:
http://jsfiddle.net/uy2sj/