欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS:选择器与优先级_html/css_WEB-ITnose

程序员文章站 2022-04-28 12:26:03
...
样式优先级原则

总的原则
1.CSS规定拥有更高确定度的选择器优先级更高
2.如果样式中包含冲突的规则,且它们具有相同的确定度。那么,后出现的规则优先级高。

优先级:由高到低(从上到下)

  • !important

  • 内联(1,0,0,0)

  • id: (0,1,0,0)

  • 类:(0,0,1,0)

  • 伪类/属性

  • 元素:(0,0,0,1)

  • 通配符

类选择器

class="web",多个元素可以拥有同一个类名

id选择器

id="web",具有唯一性

伪类选择器

CSS伪类(pseudo-class)是加在选择器后面的用来指定元素状态的关键字。

链接相关

a:link 未访问的链接
a:visited 已访问的链接
a:hover 鼠标移动到链接上
a:active 选定的链接
:target 可用于选取当前活动的目标元素,href="#222"(内容跳转)

表单元素相关

:focus 伪类在元素获得焦点时向元素添加特殊的样式
:disabled 匹配每个被禁用的元素(大多用在表单元素上)。
:enabled 表示任何启用的(enabled)元素
:checked 匹配每个已被选中的 input 元素(只用于单选按钮和复选框)(只有opera支持)

父子相关

:empty 代表没有子元素的元素,只计算元素结点及文本(包括空格),注释、运行指令不考虑在内。

:first-child 代表了某个元素,这个元素是它元素的的第一个子元素
:first-of-type
:last-of-type

:nth-clild(n) 选择器匹配属于其元素的第 N 个子元素,不论元素的类型
n 可以是数字、关键词或公式(2,an + b,odd)(n 是计数器(从 0 开始),b 是偏移值)
:nth-last-child(n)倒数
:nth-of-type(n)

属性选择器

E[attr]
E[attr=value]
E[attr~=value] 选择器用于选取属性值中包含指定词汇的元素

E[attr^=value] 选择器匹配属性值以指定值开头的每个元素。
E[attr*=value]
E[attr$=value]

基于关系的选择器

父子关系

A E 任何是元素A的后代元素E (后代节点指A的子节点,子节点的子节点,以此类推)
A > E 任何元素A的子元素(直接)

兄弟关系

B + E 任何元素B的下一个兄弟元素E(直接)
B ~ E B元素后面的拥有共同父元素的兄弟元素E

.class1.class2 同时包含class1和class2属性的元素
F#id 具有某id的F元素

E,F 所有E或F元素

伪元素

E:first-line 向文本的第一个字母添加特殊样式。
E:first-letter 向文本的首行添加特殊样式。
E:before 在元素之前添加内容。
E:after 在元素之后添加内容。