CSS 强制将除 <header> 和 <footer> 内的 div 之外的所有 div 的边距

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


我有什么想法可以实现这一目标吗?


我努力了:


body > div:not(header) {

     margin: 0 ;

     padding: 0 ;

}



div:not(header){

     margin:0 !important;

     padding:0 !important;

 }

这些示例要么不起作用,要么仍然更改页眉和/或页脚内的 div


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


阿晨1998
浏览 70回答 1
1回答

蝴蝶不菲

在选择器链中使用:not()“自由”几乎没有意义。将无法达到预期的结果 - 因为如果允许中间任意级别的元素,通常会有一个与选择器不匹配:not(),因此使整个选择器再次匹配。它在您可以将其“钉”到特定位置的情况下更有用 - 例如body > :not(header) div这将影响div容器元素内的所有内容,该元素本身是 body 的直接子元素,而不是 type&nbsp;header。但是这样你就不能再去body > :not(header) div, body > :not(footer) div- 因为所有的 div 要么不在header,要么不在footer( 不能同时在两者中。)所以你必须同时应用这两个“限制”:body > :not(header):not(footer) div这会影响 body 子级的所有 div,如果该子级本身不是header&nbsp;且不是footer。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5