css选择器有哪些?优先级?哪些属性可以继承?

一、CSS选择器是CSS规则的第一部分

它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当是被选为应用规则中的CSS属性值的方式

选择器所选择的元素,叫做“选择器的对象”

关于css属性选择器常用的有:

id选择器(#box),选择id为box的元素

类选择器(.one),选择类名为one的所有元素

标签选择器(div),选择标签为div的所有元素

后代选择器(#box div),选择id为box元素内部所有的div元素

子选择器(.one>one_1),选择父元素为.one的所有.one_1的元素

相邻同胞选择器(.one+.two),选择紧接在.one之后的所有.two元素

群组选择器(div,p),选择div、p的所有元素

还有一些使用频率相对没那么多的选择器:

伪类选择器:

:link :选择未被访问的链接

:visited:选取已被访问的链接

:active:选择活动链接
:hover :鼠标指针浮动在上面的元素

:focus :选择具有焦点的

:first-child:父元素的首个子元素

伪元素选择器:

:first-letter :用于选取指定选择器的首字母

:first-line :选取指定选择器的首行

:before : 选择器在被选元素的内容前面插入内容

:after : 选择器在被选元素的内容后面插入内容

属性选择器:

[attribute] 选择带有attribute属性的元素

[attribute=value] 选择所有使用attribute=value的元素

[attribute~=value] 选择attribute属性包含value的元素

[attribute|=value]:选择attribute属性以value开头的元素

在CSS3中新增的选择器有如下:

层次选择器(p~ul),选择前面有p元素的每个ul元素

伪类选择器:

:first-of-type 父元素的首个元素

:last-of-type 父元素的最后一个元素

:only-of-type 父元素的特定类型的唯一子元素

:only-child 父元素中唯一子元素

:nth-child(n) 选择父元素中第N个子元素

:nth-last-of-type(n) 选择父元素中第N个子元素,从后往前

:last-child 父元素的最后一个元素

:root 设置HTML文档

:empty 指定空的元素
:enabled 选择被禁用元素
:disabled 选择被禁用元素

:checked 选择选中的元素

:not(selector) 选择非 <selector> 元素的所有元素

属性选择器:

[attribute*=value]:选择attribute属性值包含value的所有元素

[attribute^=value]:选择attribute属性开头为value的所有元素

[attribute$=value]:选择attribute属性结尾为value的所有元素

  • 优先级

内联 > ID选择器 > 类选择器 > 标签选择器

到具体的计算层⾯,优先级是由 A 、B、C、D 的值来决定的,其中它们的值计算规则如下:

如果存在内联样式,那么 A = 1, 否则 A = 0

B的值等于 ID选择器出现的次数

C的值等于 类选择器 和 属性选择器 和 伪类 出现的总次数

D 的值等于 标签选择器 和 伪元素 出现的总次数

#nav-global > ul > li > a.nav-link

套用上面的算法,依次求出 A B C D 的值:

因为没有内联样式 ,所以 A = 0

ID选择器总共出现了1次, B = 1

类选择器出现了1次, 属性选择器出现了0次,伪类选择器出现0次,所以 C = (1 + 0 + 0) = 1

标签选择器出现了3次, 伪元素出现了0次,所以 D = (3 + 0) = 3

上面算出的A 、 B、C、D 可以简记作:(0, 1, 1, 3)

知道了优先级是如何计算之后,就来看看比较规则:

从左往右依次进行比较 ,较大者优先级更高

如果相等,则继续往右移动一位进行比较

如果4位全部相等,则后面的会覆盖前面的

经过上面的优先级计算规则,我们知道内联样式的优先级最高,如果外部样式需要覆盖内联样式,就需要使用!Important

  • 继承属性:

在css中,继承是指的是给父元素设置一些属性,后代元素会自动拥有这些属性

关于继承属性,可以分成:

字体系列属性

文本系列属性:

元素可见性

表格布局属性

列表属性

引用

光标属性

继承中比较特殊的几点:

a 标签的字体颜色不能被继承

h1-h6标签字体的大下也是不能被继承的

无继承的属性:
display

文本属性:vertical-align、text-decoration

盒子模型的属性:宽度、高度、内外边距、边框等

背景属性:背景图片、颜色、位置等

定位属性:浮动、清除浮动、定位position等

生成内容属性:content、counter-reset、counter-increment

轮廓样式属性:outline-style、outline-width、outline-color、outline

页面样式属性:size、page-break-before、page-break-after

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值