您好,欢迎访问一九零五行业门户网

举例详解CSS中的继承_html/css_WEB-ITnose

css的继承是由所使用的样式属性定义的。换句话说,当你查看css属性backgruound-color,你会看到一栏「继承性」,也许你几乎没有在意过它,但是它还是十分有用的。
什么是css继承
每一个元素都是文档树的一部分,除了最顶级的html元素,每个元素都有其对应的父级元素,每一个父级元素的css属性值都可以被应用到它的子元素中去。
举个栗子,h1标签包含着一个em标签:
em就是h1标签的子元素,任何h1中继承的css属性值会自动在em标签中生效,比如:
css code复制内容到剪贴板
h1{font-size: 120%;}   由于font-size是默认继承的css属性,很大的字体也会和h1一样,被放大到120%。
如何使用css继承
最简单的方法就是知道css所有属性中那些是默认被继承的,如果这个属性被继承,就会知道它会在元素所有子元素中生效。
我们经常在非常顶级的元素上定义基础样式,比如body标签,如果在body中设置字体,因为继承,文档中所有元素都会应用这个字体:
css code复制内容到剪贴板
h1{font-size: 120%;}   使用「inherit」值
每个css属性的值都包括inherit,属性被定义这个值后,即使这个属性不是默认继承,也会应用父级元素这个css属性的值,比如:
css code复制内容到剪贴板
body { margin: 1em; }    p { margin: inherit; }   继承使用计算值(computed values)
计算值指的是这个值相对于网页中其他值来定义,这个对于继承属性尤其重要。如果在body中定义font-size:1em,文档中所有元素字体大小并不都是1em,这是因为像h1-h6这类元素的font-size的值是相对大小。h1默认是网页中字体最大的元素,当设置body元素字体大小时,h1-h6会根据这个「平均」大小的字体计算实际的字体大小。
再举一个例子:
按照之前所述,font-size是默认被继承的css属性,然而span字体的大小并不是p的80%,而是和p一样大,正是因为继承使用的是计算值,如果p的父级元素的字体大小为30px,p的字体大小计算值为24px,span继承的则是24px,而不是80%。
更多关于计算值可以阅读css computed value。
background被「继承」
查看backgruound属性,会看到它的继承性是no,也就是默认不被继承的。但是浏览器依旧默认「继承」了这个属性,比如写这么一段:
“很大的”依旧有了黄色的背景,这是因为background属性的初始值(initial value)是transparent(透明),所以看到的黄色背景其实是h1标签的背景。
其它类似信息

推荐信息