CSS设置.container类红色背景样式未在HTML页面生效
问题根因
样式未生效的核心原因是<style>标签的type属性值填写错误,浏览器未解析你写的内部CSS规则。
当前代码中写的是<style type="stylesheet">,但stylesheet是外部样式引入标签<link>的rel属性取值,并非style标签的合法type值。编写内部CSS时,style标签的正确type值为text/css,在HTML5标准下可直接省略type属性,浏览器默认会将标签内内容识别为CSS解析。错误的type属性会导致整段.container样式规则被浏览器直接忽略,自然无法生效。
修正style标签后,即使行内样式写了带白色背景值的background简写属性,由于你的CSS规则加了!important,权重高于未加!important的行内样式,红色背景会正常显示。如果后续需要保留背景图、避免简写属性带来的预期外覆盖,可以将行内的background简写拆分为独立的背景子属性。
修复方案
- 修正style标签,删除错误的
type="stylesheet"属性即可,修正后代码:
<style> .container { background-color: red !important; } </style>
- (可选优化)如果需要保留背景图、减少后续样式冲突概率,把行内的background简写拆分为独立属性,避免简写重置其他背景相关规则:
<div class="container" style=" background-image: url('assets/image.jpg'); background-repeat: no-repeat; background-position: center center; height: 230px; "></div>
内容的提问来源于stack exchange,提问作者constantlyFlagged
相关产品推荐
相关产品推荐

