HTML5 CSS的继承,特殊性和层叠

继承

css某些属性具有继承的特点,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。
如以下代码,不仅< p>标签文字变色,< span>标签也会变色。

p{color:red;}

<p>俱往矣,<span>数风流人物,</span>还看今朝。</p>

但是有些属性不具有继承性,如:

p{color:red;border:1px solid red;}

<p>俱往矣,<span>数风流人物,</span>还看今朝。</p>

效果:


如果想< span>标签也加边框,需要单独设置:

<p>俱往矣,<span style="border:1px solid blue">数风流人物,</span>还看今朝。</p>

效果:


特殊性-权值

权值的存在,决定了我们在对同一个标签设置不同的css样式时会使用哪一个,如:

p{color:red;}
.first{color:green;}
<p class="first">俱往矣,数风流人物,还看今朝。</p>

效果会是绿色,原因就是权值的存在
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

继承的权值最小,小于1


层叠

上面讲了权值,那么会有一个问题,如果权值一样的结果会怎样呢?层叠就是当权值一样的时候后定义的样式会覆盖前面定义的样式,如:

p{color:red;}
p{color:green;}
<p>数风流人物,还看今朝。</p>

字体会是绿色
这样就可以理解css样式优先级了:
内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)

注意:

如果有些情况,我们不希望后面的覆盖前面的样式,我们可以定义最高权值,使用!important,如:

p{color:red!important;}
p{color:green;}
<p>数风流人物,还看今朝。</p>

这样字体就会是红色了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 8,546评论 0 40
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 7,532评论 0 30
  • 免草稿,圆珠笔直涂螃蟹。按照点阵打印顺序,眼睛,身体,右侧,左侧顺序,人肉打印模式启动,用圆珠笔直接涂鸦螃蟹🦀️一...
    老刘涂鸦阅读 3,414评论 0 2
  • 这次有几个朋友来晚了,其中有位朋友给我们讲述了在来的路上的两起车祸的见闻!感叹人生无常!我们6个人用了很短的时间做...
    刘益辰阅读 1,414评论 0 0

友情链接更多精彩内容