欢迎来到山村网

举例详解CSS中的继承

2019-03-29 02:47:24浏览:703 来源:山村网   
核心摘要:  CSS的继承是由所使用的样式属性定义的。换句话说,当你查看CSS属性backgruound-color,你会看到一栏「继承性」,也许你几乎

  CSS的继承是由所使用的样式属性定义的。换句话说,当你查看CSS属性backgruound-color,你会看到一栏「继承性」,也许你几乎没有在意过它,但是它还是十分有用的。

  什么是CSS继承

  每一个元素都是文档树的一部分,除了最顶级的HTML元素,每个元素都有其对应的父级元素,每一个父级元素的CSS属性值都可以被应用到它的子元素中去。

  举个栗子,H1标签包含着一个EM标签:

2015716190527993.jpg (493×132)

  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会根据这个「平均」大小的字体计算实际的字体大小。

  再举一个例子:

2015716190548517.jpg (655×148)

  按照之前所述,font-size是默认被继承的CSS属性,然而span字体的大小并不是p的80%,而是和p一样大,正是因为继承使用的是计算值,如果p的父级元素的字体大小为30px,p的字体大小计算值为24px,span继承的则是24px,而不是80%。

  更多关于计算值可以阅读CSS Computed Value。

  background被「继承」

  查看backgruound属性,会看到它的继承性是no,也就是默认不被继承的。但是浏览器依旧默认「继承」了这个属性,比如写这么一段:

2015716190618439.jpg (619×149)

  “很大的”依旧有了黄色的背景,这是因为background属性的初始值(initial value)是transparent(透明),所以看到的黄色背景其实是h1标签的背景。

(责任编辑:豆豆)
下一篇:

团购模式弊端渐现

上一篇:

9个建议让你的网站更适用于特殊人群

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com