Html CSS强制所有div的边距和填充为0,内部div除外<;标题>;及<;页脚>;

Html CSS强制所有div的边距和填充为0,内部div除外<;标题>;及<;页脚>;,html,css,wordpress,Html,Css,Wordpress,我一直在尝试编写特定的CSS,它将强制文档中的所有div都没有边距和填充 你知道我该如何做到这一点吗 我试过: body > div:not(header) { margin: 0 ; padding: 0 ; } div:not(header){ margin:0 !important; padding:0 !important; } 这些示例要么不起作用,要么仍然会更改页眉和/或页脚内的div 在某些情况下,我正在创建一个自定义wordp

我一直在尝试编写特定的CSS,它将强制文档中的所有div都没有边距和填充

你知道我该如何做到这一点吗

我试过:

body > div:not(header) {
     margin: 0 ;
     padding: 0 ;
}


div:not(header){
     margin:0 !important;
     padding:0 !important;
 }
这些示例要么不起作用,要么仍然会更改页眉和/或页脚内的div

在某些情况下,我正在创建一个自定义wordpress模板,该模板附带一个插件,在该模板中,除了全局主题页眉和页脚元素外,我需要所有元素都没有边距和填充,因为我不想更改这些元素。

在选择器链中使用
:not()
“freely”很少有意义。不会达到预期的结果-因为如果允许中间任意级别的元素,通常会有一个元素与
:not()
选择器不匹配,从而使整个选择器再次匹配

它在一些情况下更有用,比如你可以把它“钉”到一个特定的位置

body>:非(标题)div

这将影响容器元素内部的所有
div
,该容器元素本身是body的直接子元素,而不是类型
header

但是你不能再使用
body>:not(header)div,body>:not(footer)div
——因为所有div要么不在
header
,要么不在
footer
(不能同时在两者中)

因此,您必须同时应用两个“限制”:

body>:非(页眉):非(页脚)div


这会影响body子体的后代的所有div,如果该子体本身不是
header
footer

将body>div:not(header)更改为body>*:not(header),并且不要使用div:not(header),因为它会影响所有div。因此
是div的一部分?
div:not(header)
一开始就毫无意义。你在这里说,“选择所有标记名为
div
,没有标记名
头的元素”—当然是每个div,没有HTML元素有两个标记名。但是你不能选择
body>:not(header)div,body>:not(footer)div
再次-因为所有div要么不在页眉中,要么不在页脚中(不能同时在两者中)。因此您必须同时应用这两个“限制”-
body>:not(页眉):not(页脚)div
@CBroe您的答案有效i did body>:not(页脚):not(页眉)>div,如果你愿意把这个作为答案,我会把它标对的。