CSS样式color等属性不生效、通配符设置颜色无效果问题求助
CSS样式未生效问题排查及修复方案
- 选择器语法错误
你当前代码里的h1 .pageHeader选择器中间带空格,代表选中h1标签内部类名为pageHeader的子元素,如果你的pageHeader是h1标签自身的类名,需要去掉空格改为h1.pageHeader才能正确命中元素。 - 样式属性缺失单位
padding: 0 0 20;里的20没有写单位(如px/em/rem),浏览器无法识别该属性,会直接忽略这条样式,需改为padding: 0 0 20px;。 - 选择器作用范围偏差
输入框选择器.apply input[type="text"], [type="text"], [type="email"]中,后两个[type="text"]和[type="email"]是全局生效的,如果你的输入框不在.apply容器内,或者存在其他权重更高的样式(如ID选择器、行内样式)会直接覆盖你写的颜色配置。 - 通配符优先级过低
通配符*的CSS优先级是最低的,只要存在任意针对目标元素的样式声明(哪怕是标签选择器),都会覆盖通配符的设置,这就是你给*设置颜色不生效的核心原因。 - 缓存问题
修改CSS文件后如果没有强制刷新浏览器,浏览器会加载本地缓存的旧样式文件,导致新修改的配置不生效,可以按Ctrl+F5(Windows)/Cmd+Shift+R(Mac)强制刷新验证。
修正后可生效的CSS代码
.apply { width: 320px; height: 420px; top: 50%; left: 50%; position: absolute; transform: translate(-50%, -50%); box-sizing: border-box; padding: 70px 30px; } /* 统一给输入框选择器加父类限制,避免全局冲突 */ .apply input[type="text"], .apply input[type="email"] { border: none; border-bottom: 1px solid #fff; background: transparent; outline: none; height: 40px; color: #fff; font-size: 16px; } /* 修正选择器空格问题,补全padding单位 */ h1.pageHeader { margin: 0; padding: 0 0 20px; text-align: center; font-size: 22px; color: #fff; } body { background-color: #24252A; font-family: "Montserrat", sans-serif; } .required { color: rgb(255,99,71); }
效果展示

内容的提问来源于stack exchange,提问作者Adde
相关产品推荐
相关产品推荐

