手册

目录

CSS高级
accent-color align-content align-items align-self all animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function aspect-ratio backdrop-filter backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-position-x background-position-y background-repeat background-size block-size border border-block border-block-color border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-block-style border-block-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-end-end-radius border-end-start-radius border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline border-inline-color border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-inline-style border-inline-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-start-end-radius border-start-start-radius border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-reflect box-shadow box-sizing break-after break-before break-inside caption-side caret-color @charset 规则 clear clip clip-path color color-scheme column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns @container 规则 content counter-increment counter-reset counter-set @counter-style 规则 cursor direction display empty-cells filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font @font-face 规则 font-family font-feature-settings font-kerning @font-palette-values 规则 font-size font-size-adjust font-stretch font-style font-variant font-variant-caps font-weight gap grid grid-area grid-auto-columns grid-auto-flow grid-auto-rows grid-column grid-column-end grid-column-gap grid-column-start grid-gap grid-row grid-row-end grid-row-gap grid-row-start grid-template grid-template-areas grid-template-columns grid-template-rows hanging-punctuation height hyphens hyphenate-character image-rendering @import 规则 initial-letter inline-size inset inset-block inset-block-end inset-block-start inset-inline inset-inline-end inset-inline-start isolation justify-content justify-items justify-self @keyframes 规则 @layer 规则 left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-block margin-block-end margin-block-start margin-bottom margin-inline margin-inline-end margin-inline-start margin-left margin-right margin-top marker marker-end marker-mid marker-start mask mask-clip mask-composite mask-image mask-mode mask-origin mask-position mask-repeat mask-size mask-type max-block-size max-height max-inline-size max-width @media 规则 min-block-size min-inline-size min-height min-width mix-blend-mode @namespace 规则 object-fit object-position offset offset-anchor offset-distance offset-path offset-position offset-rotate opacity order orphans outline outline-color outline-offset outline-style outline-width overflow overflow-anchor overflow-wrap overflow-x overflow-y overscroll-behavior overscroll-behavior-block overscroll-behavior-inline overscroll-behavior-x overscroll-behavior-y padding padding-block padding-block-end padding-block-start padding-bottom padding-inline padding-inline-end padding-inline-start padding-left padding-top @page 规则 page-break-inside paint-order perspective perspective-origin place-content place-items place-self pointer-events position @property 规则 quotes resize right rotate row-gap scale @scope 规则 scroll-behavior scroll-margin scroll-margin-block scroll-margin-block-end scroll-margin-block-start scroll-margin-bottom scroll-margin-inline scroll-margin-inline-end scroll-margin-inline-start scroll-margin-left scroll-margin-right scroll-margin-top scroll-padding scroll-padding-block scroll-padding-block-end scroll-padding-block-start scroll-padding-bottom scroll-padding-inline scroll-padding-inline-end scroll-padding-inline-start scroll-padding-right scroll-padding-top scroll-snap-stop scroll-snap-type scrollbar-color shape-outside @starting-style 规则 @supports 规则 tab-size table-layout text-align text-align-last text-decoration text-decoration-color text-decoration-line text-decoration-style text-decoration-thickness text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-justify text-orientation text-overflow text-shadow text-transform text-underline-offset text-underline-position top transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function translate unicode-bidi user-select vertical-align visibility white-space widows width word-break word-spacing word-wrap writing-mode z-index zoom

特异性(Specificity)

收藏609

阅读4395

更新时间2025-07-16

什么是选择器优先级(Specificity)?

如果有两个或多个 CSS 规则指向同一个 HTML 元素,则优先级(specificity)更高的选择器会“胜出”,它的样式声明将被应用到该 HTML 元素上。

可以把优先级想象成一种层级结构,它决定了哪一个样式声明最终会被应用到元素上。

请看下面的几个例子:

示例 1

在这里,我们使用了元素选择器 "p",并为该元素设置了红色(red)的字体颜色。结果: 文字将显示为红色:

实例


  <html><br></br><head><br></br> <style><br></br> p {color: red;} <br></br> 
  </style><br></br></head><br></br><body><br></br><br></br><p>Hello World!</p><br></br><br></br></body><br></br>
  </html>

运行实例 »点击 "运行实例" 按钮查看在线实例

现在,看看示例 2:

示例 2

在这里,我们添加了一个类选择器(名为 "test"),并为该类设置了绿色(green)的字体颜色。结果: 文字将显示为绿色(即使我们为元素选择器 "p" 设置了红色)。这是因为类选择器的优先级更高:

实例


  <html><br></br><head><br></br> <style><br></br> .test {color: green;}
  <br></br> p {color: red;} <br></br> </style><br></br></head><br></br><body><br></br><br></br><p class="test">Hello World!</p><br></br><br></br></body><br></br></html>

运行实例 »点击 "运行实例" 按钮查看在线实例

现在,看看示例 3:

示例 3

在这里,我们添加了一个 ID 选择器(名为 "demo")。结果: 文字将显示为蓝色(blue),因为 ID 选择器的优先级更高:

实例


  <html><br></br><head><br></br> <style><br></br> #demo {color: blue;}<br></br> 
  .test {color: green;} <br></br> p {color: red;} <br></br> 
  </style><br></br></head><br></br><body><br></br><br></br><p id="demo" class="test">Hello 
  World!</p><br></br><br></br></body><br></br></html>

运行实例 »点击 "运行实例" 按钮查看在线实例

现在,看看示例 4:

示例 4

在这里,我们为 "p" 元素添加了内联样式(inline style)。结果: 文字将显示为粉色(pink),因为内联样式的优先级最高:

实例


  <html><br></br><head><br></br> <style><br></br> #demo {color: blue;}<br></br> 
  .test {color: green;} <br></br> p {color: red;} <br></br> 
  </style><br></br></head><br></br><body><br></br><br></br><p id="demo" class="test" 
  style="color: pink;">Hello World!</p><br></br><br></br></body><br></br></html>

运行实例 »点击 "运行实例" 按钮查看在线实例

选择器优先级层级

每个 CSS 选择器在优先级层级中都有其特定的位置。

优先级 示例 描述
内联样式 <h1 style="color: pink;"> 最高优先级,直接通过 style 属性应用
ID 选择器 \#navbar 第二高优先级,通过元素的唯一 id 属性识别
类选择器和伪类选择器 .test, :hover 第三高优先级,通过类名进行定位
属性选择器 \[type="text"\] 较低优先级,应用于属性
元素选择器和伪元素选择器 h1, ::before, ::after 最低优先级,应用于 HTML 元素和伪元素

更多优先级规则示例

相同优先级:最后定义的规则胜出 - 如果相同的规则在外部样式表中写了两次,则最后定义的那条规则会生效:

示例

实例


h1 {background-color: yellow;}<br></br>
h1 {background-color: red;}

运行实例 »点击 "运行实例" 按钮查看在线实例

ID 选择器的优先级高于属性选择器 - 请看以下三行代码:

示例

实例


div#myDiv {background-color: green;}<br></br>#myDiv {background-color: yellow;}<br></br>div[id=myDiv] {background-color: blue;}

运行实例 »点击 "运行实例" 按钮查看在线实例

其中第一条规则比另外两条规则更具体,因此会被应用。

上下文选择器比单个元素选择器更具体 - 内嵌样式表更靠近要设置样式的元素。所以在以下情况下:

示例

实例


/*From external CSS file:*/<br></br>#content h1 {background-color: red;}<br></br><br></br>
/*In HTML file:*/<br></br><style><br></br>#content h1 {background-color: 
yellow;}<br></br></style>

运行实例 »点击 "运行实例" 按钮查看在线实例

最后定义的规则会生效。

类选择器优先于任意数量的元素选择器 - 类选择器如 .intro 会覆盖 h1pdiv 等元素选择器:

示例

实例


  .intro {background-color: yellow;}<br></br>h1 {background-color: 
  red;}

运行实例 »点击 "运行实例" 按钮查看在线实例

通用选择器(*)和继承的值 - 通用选择器(*)以及继承的值不会影响优先级的权重:

示例

实例


  * {background-color: yellow;}<br></br>h1 {background-color: red;}

运行实例 »点击 "运行实例" 按钮查看在线实例

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

221184次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

621491次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

239797次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

395904次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

231761次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

62.3万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.7万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

73.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

62.2万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23.2万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

34.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

127万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号