经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
CSS三大特性
来源:cnblogs  作者:有点儿意思  时间:2022/1/17 10:48:29  对本文有异议

Css三大特性

继承性

特性:子元素有默认继承父元素样式的特点

可以继承的常见属性有:

1、color

2、font-style、font-weight、font-size、font-family

3、text-indent、text-align

4、line-height

5.....

例如:

  1. <style>
  2. .father{
  3. color: red;
  4. }
  5. </style>
  6. </head>
  7. <body>
  8. <div class="father">
  9. 父亲
  10. <div class="son">
  11. 儿子
  12. </div>
  13. </div>
  14. </body>

注意点:可以通过调试工具判断样式是否可以继承

常见的应用场景:

1、可以直接给ul设置list-style:none属性。从而去除列表默认的小圆点样式。

2、直接给body标签设置统一的font-size,从而统一不同浏览器默认文字大小。

继承失效的情况

1、如果元素有浏览器设置的默认样式,此时继承性仍然存在,但是优先显示浏览器默认的样式。

2、a标签的color会继承失效。

其实是有继承的,只不过是优先使用了浏览器默认的样式。

3、h系列标签的font-size会继承无效。

原因同上

4、div的高度不能继承,但是宽度有类似于继承的效果。

层叠性

特性:1、给同一个标签设置不同的样式---此时样式会层叠叠加--会共同作用在标签上。

2、给同一个标签设置相同的样式---此时样式会层叠覆盖---最终写在最后的样式会生效。

注意点:当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果。

优先级

能够计算CSS权重,并解决CSS样式冲突问题

特性:不同选择器有不同的优先级,优先级高的选择器样式会覆盖优先级低的选择器样式。

优先级公式:继承<通配符选择器<标签选择器<类选择器<id选择器<行内样式<!important

注意点:

1、!important写在属性值的后面,分号的前面

2、!important不能提升继承的优先级,只要是继承优先级最低

3、实际开发中不建议使用!important

权重叠加计算

场景:如果是符合选择器,此时需要通过权重叠加计算方法,判断最终哪个选择器优先级最高会生效。

公式(每一级之间不存在进位,四个是分别对应的)

第一级 第二级 第三极 第四级

? (0, 0 , 0 ,0)

行内样式个数 id选择器个数 类选择器个数 标签选择器个数

比较规则:

1、先比较第一级数字,如果比较出来了,之后的统统不看。

2、如果第一级数字相同,此时再比较第二级数字,如果比较出来了。之后的统统不看。

3、。。。。

4、如果最终所有数字都相同,表示优先级相同,则比较层叠性(谁写在下面,谁说了算)

注意点:如果!important不是继承,则权重最高。

  1. <style>
  2. /*0,1,0,1*/
  3. div #one{
  4. color: skyblue;
  5. }
  6. /*0,0,2,0*/
  7. .father .son{
  8. color: skyblue;
  9. }
  10. /* 0,0,1,1*/
  11. .father p{
  12. color: purple;
  13. }
  14. /* 0,0,0,2*/
  15. div p{
  16. color: pink;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div class="father">
  22. <p class="son" id="one">我是个标签</p>
  23. </div>
  24. </body>

一般解题步骤

1、先判断选择器是否能直接选中标签,如果不能直接选中---->是继承,优先级最低----->直接pass

2、通过权重计算公式,判断谁的权重最高。

原文链接:http://www.cnblogs.com/kuangsun125/p/15795618.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号