HTML/CSS如何强制覆盖div、section背景色将整页背景设为黑色
实现方法
这个需求完全可以实现。你当前的写法未生效的核心原因是页面内的section、div等子元素本身设置了独立的背景色,子元素的背景层级高于父级body的背景,因此只有未被这些容器包裹的区域才会显示body的黑色。
方案1:通配符全局强制覆盖
这是最简单的全量覆盖方案,通过通配符匹配页面所有元素,搭配!important提升规则优先级,覆盖原有样式定义:
* { background-color: #000 !important; /* 若需要同时清除所有元素的背景图,可取消下面一行的注释 */ /* background-image: none !important; */ }
如果存在需要保留原有背景的特殊元素,可以用:not()伪类做排除,比如排除图片、SVG元素、自定义保留背景类:
*:not(img, svg, .keep-bg) { background-color: #000 !important; }
方案2:指定容器元素覆盖
如果不想用通配符影响不必要的元素,也可以明确枚举所有需要覆盖背景的容器元素:
body, div, section, header, footer, main, aside, article { background-color: #000 !important; }
内容的提问来源于stack exchange,提问作者gianlps
相关产品推荐
相关产品推荐

