gpt4 book ai didi

html - 我可以编写一个 CSS 选择器来选择没有特定类或属性的元素吗?

转载 作者:bug小助手 更新时间:2023-10-28 10:53:33 27 4
gpt4 key购买 nike

我想编写一个 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>

我想编写一个选择器来选择所有没有“可打印”类的元素,在这种情况下,是 nava 元素.

这可能吗?

注意:在我想使用它的实际 HTML 中, 具有“可打印”类的元素要多得多(我意识到这是上面的例子中的其他方式)。

最佳答案

通常你会像这样向 :not() 伪类添加一个类选择器:

:not(.printable) {
/* Styles */
}

:not([attribute]) {
/* Styles */
}

但是如果您需要更好的浏览器支持(IE8 和更早版本不支持 :not()),您最好为支持的元素创建样式规则> 有“可打印”类。如果尽管您对实际标记说了些什么,这仍然不可行,那么您可能必须绕过该限制来处理您的标记。

请记住,根据您在此规则中设置的属性,其中一些可能由 .printable 的后代继承,或者以其他方式以一种或另一种方式影响他们。例如,虽然 display 没有被继承,但在 :not(.printable) 上设置 display: none 将阻止它及其所有后代从显示中,因为它从布局中完全删除了元素及其子树。您通常可以通过使用 visibility: hidden 来解决此问题,这将允许显示可见的后代,但隐藏的元素仍会像原来一样影响布局。简而言之,请小心。

关于html - 我可以编写一个 CSS 选择器来选择没有特定类或属性的元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110300/

27 4 0
文章推荐: javascript - 一个 AngularJS Controller 可以调用另一个吗?
文章推荐: html - 我们可以在同一个 中有多个 吗?