CSS选择器优先级介绍

本文详细介绍了CSS选择器的分类,包括块元素与内联元素、通配选择器、id选择器、类选择器、元素选择器、交集选择器、伪类选择器、属性选择器和子元素选择器等,并探讨了样式继承和优先级规则。重点讲解了优先级计算方法,以及如何根据优先级决定样式应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

块元素和内联元素

块元素

块元素:所谓块元素就是独占一行的元素
例如:div p h1 h2 h3 ~

内联元素

内联元素(行内元素):指只占用自身元素大小,不会占用一行
例如: a img span iframe

块元素主要用来页面布局 ;内联元素主要用来选中文本设置样式;

一般情况,只用块元素去包含内联元素,其中a元素可以包含任意元素,除了他本身;p元素中不能包含其他块元素;

选择器分类

本文介绍了几种常见的选择器及其优先级的规则

通配选择器

可以用它来选中页面中的所有元素
语法: *{ }

id选择器

通过元素的id属性值选中唯一的元素
语法: #id属性值 {}

类选择器

通过元素的class属性值选中一组元素
语法: .class属性值{}

元素选择器

p{
font-size:10px;
}
: first-letter 为p中第一个元素设置特殊格式
:last-line 为p的第一行设置格式
:before 表示元素最前面的部分
:after 表示元素最后面的部分
before、after 结合content一起使用,通过content向before和after位置添加一些内容;
例:
p:before { content: “我是元素最前面–奶奶的星星-史铁生”;
color:red; }

交集选择器

可以同时选中满足多选择器的元素
-语法:
选择器1选择器2选择器N{}

伪类选择器

伪类专门用来表示元素的一种状态;
比如访问过的超链接、没访问的超链接
:link 表示普通的链接(没放过的链接)
:visited 表示访问的链接
:hover 表示鼠标移入的状态
:active 表示超链接被点击的状态
:focus 表示文本框获取焦点以后,可修改背景颜色
例:
a:link{
color : green;
}

属性选择器

可以根据元素中的属性或者属性值来选取指定元素
语法:
[属性名] 选取含有指定属性的元素
[属性名=“属性值”] 选取含有指定属性的元素
[属性名=^“属性值”] 选取含有指定内容开头的元素
[属性名=$“属性值”] 选取含有指定内容结尾的元素
[属性名=*“属性值”] 选取属性值包含指定内容的元素

我是一个段落

有德必有勇

p[title=“hello”]{
background-color: yellow;
}

子元素选择器

:first-child 可以选中第一个子元素;

p:first-child{
background-color: yellow;
} 为第一个p标签设置背景颜色为黄色

:last-child 可以选中最后一个子元素;
:nth-child 可以选中任意位置的子元素;(n 是一个正整数,另外可以指定一个参数even 或odd)even表示偶数位置的子元素,odd表示奇数位置的子元素;

p:nth-child(even){
background-color: greenyellow;
}

否定伪类

作用
可以从选中的元素中剔除某些元素
语法:
:not(选择器)
p:not(.hello){
background-color: lightpink;
}

样式继承

在css中,祖先元素上的样式,也会被它的后代元素继承,利用继承可以将一些基本样式设置给祖先元素,这样所有的后代元素将会自动继承这些元素;
但并不是所有样式都会被继承,比如:背景相关的样式不会被继承; 还有边框相关的样式~

优先级的规则

内联样式:1000
id选择器 :100
类or伪类选择器 :10
元素选择器: 1
通配选择器 : 0
继承 :没有优先级

当选择器中包含多种多种选择器时候,需要将多种选择器的优先级相加然后再比较;

  • 但是注意,选择器的优先级计算不会超过最大的数量级;
  • 如果选择器的优先级一样,则使用靠后的样式;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值