为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阿晨1998 2024-01-22 15:27:48
我一直在尝试编写特定的 CSS,这将强制文档中的所有 div 没有边距和填充。我有什么想法可以实现这一目标吗?我努力了:body > div:not(header) {     margin: 0 ;     padding: 0 ;}div:not(header){     margin:0 !important;     padding:0 !important; }这些示例要么不起作用,要么仍然更改页眉和/或页脚内的 div在某些上下文中,我正在创建一个带有插件的自定义 WordPress 模板,其中除了全局主题页眉和页脚元素之外,我需要所有元素都没有边距和填充,因为我不想更改这些元素。
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

在选择器链中使用:not()“自由”几乎没有意义。将无法达到预期的结果 - 因为如果允许中间任意级别的元素,通常会有一个与选择器不匹配:not(),因此使整个选择器再次匹配。

它在您可以将其“钉”到特定位置的情况下更有用 - 例如

body > :not(header) div

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

但是这样你就不能再去body > :not(header) div, body > :not(footer) div- 因为所有的 div 要么不在header要么不在footer( 不能同时在两者中。)

所以你必须同时应用这两个“限制”:

body > :not(header):not(footer) div

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


查看完整回答
反对 回复 2024-01-22
  • 1 回答
  • 0 关注
  • 17 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信