Open monsterooo opened 6 years ago
在现实生活中继承是很常见的,除非有其他因素影响,一般情况下父母较高他的孩子也是比较高等等例子。我们在css中也可以看到类似的东西(inherit)。
如果你将一个容器元素color设置为绿色,除非有一些规则覆盖color这个颜色,容器内所有元素都会是绿色的。某些属性的值通过父元素传递到子元素的机制称为继承。
color
在本文中,你将会学习到关于继承的不同方面,以及它如何影响不同元素的外观。
css继承大大减少了创建网站所需要的时间和体力。想象一下你需要写多少css来给body和他的子元素设置color。这非常浪费时间,也很容易出错并且难以维护。同样,你可以想象如果强制你给每个子元素设置font-size,font-family,这肯定是一场噩梦。
body
font-size
font-family
来看一下这个演示
这里我给body元素定义了font-family,font-size和line-height属性,这些值都被嵌套在body中的元素继承了。它的好处是给布局提供了一致性,而不需要在多个元素上重复设置同样的属性。
line-height
在现实生活中,不是所有的属性都是从父母你来继承过来的,css也是如此,并不是每个子元素的css属性都是默认继承的。事实上如果所有的css属性都被继承,它所带来的效果跟没有继承一样,因为你不得不写很多css来覆盖这种行为。
举个例子,如果border属性默认被继承的话,设置一个颜色有border会导致其所有子元素同样拥有border属性。同样的,如果子元素继承了父元素的background-image属性结果将非常混乱。
border
background-image
CSS Inheritance: An Introduction 原文
在现实生活中继承是很常见的,除非有其他因素影响,一般情况下父母较高他的孩子也是比较高等等例子。我们在css中也可以看到类似的东西(inherit)。
如果你将一个容器元素
color
设置为绿色,除非有一些规则覆盖color
这个颜色,容器内所有元素都会是绿色的。某些属性的值通过父元素传递到子元素的机制称为继承。在本文中,你将会学习到关于继承的不同方面,以及它如何影响不同元素的外观。
css的继承有什么用?
css继承大大减少了创建网站所需要的时间和体力。想象一下你需要写多少css来给
body
和他的子元素设置color
。这非常浪费时间,也很容易出错并且难以维护。同样,你可以想象如果强制你给每个子元素设置font-size
,font-family
,这肯定是一场噩梦。来看一下这个演示
这里我给
body
元素定义了font-family
,font-size
和line-height
属性,这些值都被嵌套在body
中的元素继承了。它的好处是给布局提供了一致性,而不需要在多个元素上重复设置同样的属性。只有某些属性被继承
在现实生活中,不是所有的属性都是从父母你来继承过来的,css也是如此,并不是每个子元素的css属性都是默认继承的。事实上如果所有的css属性都被继承,它所带来的效果跟没有继承一样,因为你不得不写很多css来覆盖这种行为。
举个例子,如果
border
属性默认被继承的话,设置一个颜色有border
会导致其所有子元素同样拥有border
属性。同样的,如果子元素继承了父元素的background-image
属性结果将非常混乱。CSS Inheritance: An Introduction 原文