<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
article>div {
color: aquamarine;
}
</style>
</head>
<body>
<article>
<div>文本1</div>
<div>文本2
<div>文本3</div>
</div>
</article>
<div>文本4</div>
</body>
</html>
图片上的两种写法有什么不同,我的代码里文本3的div的父元素是article吗?不是中间隔了一个div吗。搞不清
我的个人理解是这样的:首先虽然 文本3 继承了父元素的 Color 所以导致了,自身的color 属性也被改变,在css中,文本属性的color text-align text-indent text-shadow……是会自动继承的!
article>div 相当于article下的div都引用了color: aquamarine;这个样式,计算式间隔了一层,但是它父级的父级还是article
而文本4已经它外层的div不包含在article下,所以不会引用到这个样式。
color
属性会继承父级样式,设置个height
再看看
文本3的div的直接父元素是文本2的div。但是artical也是父元素
这个的意思是设置第一子元素,你这里文本3之所以会被渲染,是因为文本3这个div的父级样式影响到,你给文本3这个div设置另外的颜色,就不会影响到了,好比你在body设置个color:red,如果其他标签不设置颜色的话,那整个页面的字体都是红色,除特殊标签系统自带颜色外
1、文本3div的父元素 是文本2所在的div;
2、我们一般称超过两级及以上的元素为祖先元素,这里article是文本3div的祖先元素;
3、文本的css属性,比如color,font-size等等,会继承祖先元素的样式,就近原则。
除了a元素不继承【因为a元素本身有默认样式】
结果:文本3div,继承了article的文本样式