c++输入了后边不继续_不知道这三大特性,css就白学了

大家都知道css是根据样式表名字来给名字匹配的html元素添加对应的效果的,但是有时候一个html元素却用了几个css样式表,那么这几个样式表之间是怎么样的关系呢?最终的页面效果会是什么样的呢?

下面我们来说一下css的三大特性,彻底搞懂多个css样式表之间是如何相爱相杀的。

13bb89796e372c87e436a5f7a7ee7169.png

我们可以看到我们给了一个div容器两个不同的样式表,但是最终在浏览器展现的效果是name1这个样式生效了,而name2仿佛失踪了一样,这是为什么呢?

CSS(Cascading Style Sheets)又称为层叠样式表,他有一个层叠性的性质,这个性质就是用来解决如上述情况下引起的样式冲突问题。

当多个样式作用于同一个(同一类)标签时,样式发生了冲突,总是执行后边的代码(后边代码层叠前边的代码),和标签调用选择器的顺序没有关系。所以我们可以看到在style中name2在name1之前生成,但是即便name1书写在name2的前面它也不会被覆盖,因为决定性因素是css样式表中的书写顺序。这是因为浏览器渲染网页,会先下载文档内容,加载头部的样式资源,然后按照从上而下,自外而内的顺序渲染DOM内容,所以写在前面的样式会被覆盖掉。

二. 继承性

CSS继承性是指被包在内部的标签将拥有外部标签的样式性质。他的前提是元素之间存在包含关系

并不是所有有包含关系的元素都可以继承样式,字体,文本等属性可以在css中实现继承,例如文字颜色、大小、字体、粗细等等。而边距,背景等属性就不被继承。

特殊情况

h系列不能继承文字大小。

a标签不能继承文字颜色。

下面来看看效果图:

3aaa3e9ffe189d736cf82867f6211c59.png

三.优先级

定义css样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。

下面几种不同的情况:

第一种比较:都只有一个选择器的时候,可以看出,id选择器选择下的p元素样式生效了。

d1687c16b667a30eebd56ba9e9b91282.png

第二种比较: 有多个选择器的时候,明显的可以看到,多选择器选中的样式生效了,单个选择器打不过呀。

45de757513fa48a6b873c8638ea6eac0.png

第三种比较:多选择器选中之间的比较,这就可以看出id选择器+id选择器最厉害了。

3da8968619e13a0dff16dfb997ad3ffb.png

公众号:口耳戈

特殊的情况:css里面有个boss级别的属性!important,谁加上了它,谁就是最大的。

4316d5b4acce83bb85f0abe7c0299cfb.png

优先级的规则

默认样式 < 标签选择器< 类选择器 < id选择器 < 行内样式 < !important

我们称它叫权重,是这样累加的。先从id选择器开始比,id选择器的数目相等就比较类选择器,如果还是相等,再比较标签选择器,值得注意的是,比较一层层比,哪一层比较少,那么后面都不用比较了,来看看下面的例子

a.#q #w #e .q .e

b.#q #w #e .q .e .r

c.#q .q .w .e. r. t. y .u .i(假设此处有10个标签)

id选择器a有三个,b有三个,c只有一个,所以c淘汰,ab继续比较,类选择器a两个,b有三个,所以a淘汰,无论c中类选择器有多少个,但是它一开始就输了,根本无法参与后面的比较。

优先级还有两个特点,一是继承的权重为0,二是权重是会叠加的。


如何有什么疑问或者建议欢迎在下方评论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值