为何p.note类CSS属性未生效?优先级与语法问题求助
CSS特定属性失效排查修复求助
我的CSS偶尔能正常运行,但部分特定属性未被执行,在Chrome控制台中这些属性被划掉,表明未生效。我原以为更具体的类选择器优先级高于通用p选择器,但设置p.note的margin和padding时失败,仅font-size能生效。HTML中通过<p class="note">调用该类,相关CSS代码片段如下:
* { margin: 1rem; padding: 1rem; /* outline: solid black 2px; */ box-sizing: border-box; } /* define all paragraph font for main pg */ p { color: black; text-align: left; font-family: palatino; font-size: 1.1rem; background-color: rgba(238,238,238,0.7); /* off-white translucent */ /* margin: 4 prop is Top R Bott L no , but spaces*/ margin: 1.7rem; padding: 1rem; outline: solid black 1px; box-sizing: border-box; } p.note { background-color: rgba(88,190,238,0.23); /* purple translucent */ font-size: .8rem; /* margin: 4 prop is Top R Bott L no , but spaces*/ margin: 1.7rem; padding: .25,1,.25,1rem; outline: solid black 1px; box-sizing: border-box; } p::first-letter { font-family: Georgia, serif; /* font-family: Luminary, fantasy; not allowed by Chrome */ font-size:2.0rem; color: #2f2f2f; }
截图显示Chrome控制台中p.note的margin、padding等属性被划掉失效。
问题修复方案
- 核心错误:padding属性语法错误:你在
p.note中写的padding: .25,1,.25,1rem;使用了逗号分隔值,CSS中内边距的多值写法需要用空格分隔,且每个值都要正确带单位。正确写法应为:
(或者简化为padding: .25rem 1rem .25rem 1rem;padding: .25rem 1rem;,因为上下值相同、左右值相同) - 优先级确认:
p.note选择器的优先级确实高于通用p选择器,只要语法正确,属性会正常覆盖生效。你可以查看Chrome控制台中划掉属性旁的黄色感叹号,通常会提示语法错误信息。
内容的提问来源于stack exchange,提问作者Nicholas Bourbaki
相关产品推荐
相关产品推荐

