CSS引用body下嵌套类设置样式不生效如何解决
问题根因
.backgroundimage是没有任何子内容的空div,块级元素在无内容、未手动设置宽高的场景下,默认高度为0,没有可渲染的实际区域,设置的背景图、背景色自然无法显示。直接给body设置背景能正常生效,是因为body的高度会默认适配视口/页面内容,存在有效渲染区域。
修复方法
给.backgroundimage类补充明确的尺寸规则即可,根据使用场景选对应写法:
- 作为全屏背景层使用时,直接让元素铺满视口即可:
.backgroundimage { width: 100vw; min-height: 100vh; background-image: url("backgroundimage/dark-night-mountains-4k-e3.jpg"); background-size: cover; background-color: white; /* 作为背景层时可添加固定定位,避免遮挡正常页面内容 */ position: fixed; top: 0; left: 0; z-index: -1; }
- 作为普通内容容器使用时,要么给元素设置对应需要的宽高值,要么往div内填充实际内容,元素拥有实际尺寸后背景样式会自动生效。
内容的提问来源于stack exchange,提问作者user18726879
相关产品推荐
相关产品推荐

