可以编写 CSS 来选择缺少类或属性的元素吗?
当希望选择不具备类或属性的元素时,就会出现此问题特定的类或属性。例如,考虑下面的 HTML:
<html class="printable"> <body class="printable"> <h1 class="printable">Example</h1> <nav> <!-- Some menu links... --> </nav> <a href="javascript:void(0)" onclick="javascript:self.print()">Print me!</a> <p class="printable"> This page is super interresting and you should print it! </p> </body> </html>
在这种情况下,我们的目标是选择没有“printable”类的元素,即 nav 和 a
解决方案:
传统上,可以通过将 :not() 伪类应用于类选择器来实现此目的:
:not(.printable) { /* Styles */ } :not([attribute]) { /* Styles */ }
但是,为了增强浏览器兼容性(IE8及以下缺少 :not() 支持),建议对元素进行样式化确实拥有“可打印”类别。如果这不切实际,则可能需要修改标记。
注意事项:
此规则中设置的属性可能会影响具有“printable”类的后代。例如,在 :not(.printable) 上设置 display: none 将隐藏它及其后代。相反,请考虑使用visibility:hidden以允许后代显示,同时保持原始布局。因此建议谨慎。
以上是CSS 可以选择没有特定类或属性的元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!