不能将:not()用作父对象,以将CSS中的子对象作为目标对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不能将:not()用作父对象,以将CSS中的子对象作为目标对象相关的知识,希望对你有一定的参考价值。

我将表重置为border: 0;,但在某些情况下,我不想使用此重置CSS,所以我编写了这样的CSS:

div:not(.has-border) table
  border: 0;

使样式border: 0适用于所有表格,但不适用于.has-border内部的表格。但这是行不通的。 .has-border内部的表格仍然具有样式border: 0。我以为使用CSS,.has-border内的表格将不适用(没有)样式border: 0,对吗?有人可以向我解释为什么吗?谢谢。

注意:我不能为表设置类,只允许为表的父类设置类。

这是我的小提琴:jsfiddle.net/e2xvdm3t

答案

尝试一下:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>

table
border: 1px solid;


.nottable2
border: 1px solid !important;


table:not(.nottable) 
border: none;


</style>
</head>
<body>

<table class="nottable">
<tr>
<td>First cell in first table. The cell to the right has the second table in it.</td>
<td>

    <table>
    <tr><td>nested table</td></tr>
    <tr><td>nested table</td></tr>
    </table>
    
    <table class="nottable2">
    <tr><td>nested table</td></tr>
    <tr><td>nested table</td></tr>
    </table>

</td>
</tr>
</table>

</body>
</html>

以上是关于不能将:not()用作父对象,以将CSS中的子对象作为目标对象的主要内容,如果未能解决你的问题,请参考以下文章

Django从父对象访问模板中的子数据

使列表中的子对象自我转换为同一父对象的其他子对象的最佳方法

如何将鼠标悬停在子元素上而不悬停在 CSS 中的父元素上?

反应无状态子组件不会更新父组件中的状态更改

删除父对象时如何删除由stream.flatMap创建的列表中的子对象?

Livecycle:在重复的子表单中引用对象