CSS的两大特性之继承性和层叠性

1.继承性

    css的继承性指的是子元素会继承父元素的某些样式属性。例如在父元素定义字体颜色(color属性),子元素会继承父元素的字体颜色,不过,并不是所有的属性都会被子元素继承,如margin,padding,border等就不具备继承性。在css中,具有继承性的属性有三大类:

  • 文本相关的属性:font-family、font-size、font-style、font-weight、font、line-height、text-align、text-indent、word-spacing.
  • 列表相关的属性:list-style-type、list-style-image、list-style-position、list-style
  • 颜色相关的属性:color
举例:
<!doctype html>
<html lang="CN">
	<head>
		<title></title>
		<meta charset="utf-8">
		
		<style type="text/css">
			body{
				font-size:14px;
				font-family:"Microsoft Yahei";
			}
			#father{
				color:red;
				font-weight:bold;
			}

		</style>
	</head>
	<body>
		<div id="father">
			这是父元素
			<div id="son">
				这是子元素
			</div>
		</div>
	</body>
</html>
预览效果如下图这里为父元素定义了color和font-weight两个属性,从预览效果我们可以看到,子元素继承了父元素的这两个属性值。
特殊举例:
<!doctype html>
<html lang="CN">
	<head>
		<title></title>
		<meta charset="utf-8">
		
		<style type="text/css">
			body{
				font-size:14px;
				font-family:"Microsoft Yahei";
			}
			#father{
				color:red;
				font-weight:bold;
			}

		</style>
	</head>
	<body>
		<div id="father">
			这是父元素
			<div id="son">
				<a href="#">这是子元素</a>
			</div>
		</div>
	</body>
</html>

预览效果:

我们发现当给子元素添加a标签时,子元素并没有继承父元素的字体颜色,这是因为a标签本身有默认的颜色样式,优先级比继承的要高,如果想要改变a标签的颜色,只能选中a标签,然后再进行单独操作。

2.层叠性
    首先我们来看一个问题,如果 在网页中,我们对于同一个元素重复定义了多个 相同的属性时,CSS会怎么处理呢?
    看下面的代码:
<!doctype html>
<html lang="CN">
	<head>
		<title></title>
		<meta charset="utf-8">
		
		<style type="text/css">
			body{
				font-size:14px;
				font-family:"Microsoft Yahei";
			}
			div{color:green;}
			div{color:blue;}
			div{color:red;}

		</style>
	</head>
	<body>
	<div>hello world</div>
	<div>hello world</div>
	<div>hello world</div>
	</body>
</html>
预览效果如图:
我们发现字体显示的红色,由此可知,由于CSS的层叠性“color:blue”会覆盖“color:green”,而“color:red”会覆盖"color:blue",因此,最终所有div的颜色为red。
CSS的层叠性,指的就是样式的覆盖,对于同一个元素来说,如果我们重复定义多个相同的属性,并且这些属性具有相同的权重,CSS会以最后定义的属性为准,也就是“后来者居上”原则。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值