CSS三大特性

CSS有三大特性,分别是继承性,层叠性,优先级。

继承性

继承性是指指被包在内部的标签将拥有外部标签的样式性,即后代元素可以继承祖先元素的属性, 在CSS中以text-、font-、line- 开头的属性都是可以继承的。更详细的可以继承的属性如下:

/*常用*/
a
color
cursor
direction
font
letter-spacing
line-height
list-style
text-align
text-indent
text-shadow
text-transform
white-space
word-break
word-spacing
word-wrap
writing-mode
/*不常用*/
caption-side
empty-cells
text-combine-upright
text-orientation
text-rendering
text-underline-position
widows

请看下面的例子

<!DOCTYPE html>  
<html>  
<head lang="en">  
    <meta charset="UTF-8">  
    <title></title>  
    <style>  
        div {  
            color: red;  
        }  
    </style>  
</head>  
<body>  
    <div>  
        <p>苹果</p>  
        <p>香蕉</p>  
        <span>葡萄</span>  
    </div>  
</body>  
</html>  

结果显示如下

20160825225937698.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>24-css三大特性之继承性.html</title>
    <style>
        div{
            color: red;
            font-size:30px;
            /*background: green;*/
            text-decoration: none;
        }
    </style>
</head>
<body>
<!--
    继承性(inheeited),子类可以使用父类的属性
    注意点:
    1.不是所有的属性都可以继承,只有以color/font-/text-/line开头的属性才可以继承
    2.在css中的继承不仅是儿子才可以继承,只要是后代就可以继承
    3.css继承性中的特殊性
    a标签的文字颜色和下划线是不能被继承的
    h标签的文字大小是不能被继承的
    应用场景:一般用于设置网页上的一些共性信息 body{}
-->
<div>
    <p>我是段落</p>
</div>
<div>
    <ul>
        <li>
            <p>我是段落</p>
        </li>
    </ul>
</div>
<div>
    <a href="#">我是超链接</a>
</div>
<div>
    <h1>我是标题</h1>
</div>
</body>
</html>

层叠性

层叠性体现在处理css冲突的能力。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>25-css三大特性之层叠性.html</title>
    <style>
        p{
            color: red;
        }
        .para{
            color: aqua;
        }
    </style>
</head>
<body>
<!--
    层叠性只有在多个选择器选中"同一个标签",然后又设置了"相同的属性",才会发生层叠性
    CSS:Cascading Style Sheets 层叠样式表
-->
<p id="identity" class="para">我是段落</p>
</body>
</html>

优先级

当多个选择器选中同一个标签时,并且给同一个标签设置相同的属性时,如何层叠就由优先级来决定。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>26-css三大特性之优先级.html</title>
    <style>
        #id1{
            color: blue;
        }
        .para{
            color: red;
        }
    </style>
</head>
<body>
<!--
    判断条件:
    1.是否是直接选中,就是直接第一次选中的就是要设置的标签,例如
        p{}
        #identity{}
        .para
    2.间接选中,就是继承,谁离目标标签近就会继承谁的属性,例如
        ul{}
        li{}
    3.相同的选择器,如果都是直接选中,并且都是同类型的选择器,谁在后边就听谁的,例如
        p{ }
        p{}
    4.不同选择器,如果都是直接选中,并且不是同类型的选择器,那么就会按照选择器的优先级来层叠,例如
        id>类>标签>通配符>继承>浏览器
    5.!important 用于提升某个直接选中标签的选择器的某个属性的优先级,可以将被指定的属性的优先级提升为最高
-->
</body>

<ul>
    <li>
        <p id="id1" class="para">我是段落</p>
    </li>
</ul>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,698评论 1 92
  • 谷歌浏览器开发者工具使用 进入谷歌浏览器后如下图操作,或者按F12 调整样式![](http://upload-i...
    MGd阅读 2,187评论 0 0
  • ## CSS三大特性 # 继承性(inherit) # 层叠性 # 优先级 # important # div标签...
    KsKison阅读 2,839评论 0 0
  • CSS三大特性 继承性 什么是继承性? 作用: 给父元素设置一些属性, 子元素也可以使用, 这个我们就称之为继承性...
    极客江南阅读 12,433评论 5 65
  • 暗恋哪有什么小事,哪怕对方不经意给你的一个眼神,都可能成为你一天暗喜的大事。
    斯金纳的猫阅读 1,274评论 0 0

友情链接更多精彩内容