您是否曾经花费数小时调整 CSS,想知道为什么这种顽固的样式不适用?欢迎来到特异性的世界。
特异性是指当多个规则针对同一元素时,浏览器如何决定应用哪个 CSS 规则。如果不理解它,您的样式表很快就会变得一团糟。让我们来分解一下。
通用选择器 (*) 位于特异性链的底部,具有 0 点。这就像对所有事情的一揽子规则,但几乎会被其他任何事情所推翻。
示例:
* { color: red; } h1 { color: blue; }
即使有 * { color: red; },一个
元素选择器(h1、p、div)比通用选择器更强,带有 1 点。
示例:
h1 { color: green; }
此规则将覆盖针对同一元素的通用选择器。
像 .button、:hover 或 [type="text"] 这样的选择器更加具体,有 10 分。
示例:
.button { color: purple; }
这将覆盖通用选择器和元素选择器。
ID (#submitButton) 的功能明显更强大,有 100 分。谨慎使用它们,因为它们会使样式更难管理。
示例:
#submitButton { background-color: yellow; }
内联样式胜过一切,除了 !important。
示例:
<div> <h4> 6. The Almighty !important </h4> <p>Adding !important forces a rule to override others, even inline styles. But overusing it can lead to chaos in your CSS. It can be necessary when using third-party libraries to help override predefined styles.</p> <p><strong>Example:</strong><br> </p> <pre class="brush:php;toolbar:false">.button { color: red !important; }
如果两条规则具有相同的特异性,则样式表中稍后出现的规则获胜。
示例:
h1 { color: red; } h1 { color: green; }
这里,
掌握特异性可以让您编写干净、可维护的 CSS,从而避免无休止的调试。下次当你的风格不正常时,你就会知道该往哪里看。
以上是CSS 特异性解释:如何控制哪种样式获胜的详细内容。更多信息请关注PHP中文网其他相关文章!