哪些 CSS 属性可以继承?

目录

字体系列属性

文本系列属性

其他系列属性

inherit(继承)值

继承的局限性


所谓继承是指 HTML 元素可以从父元素那里继承一部分 CSS 属性,即使当前元素没有定义该属性。以下是可以被继承的属性:

字体系列属性

字体系列属性主要包括 font-size、font-family、font-variant、font-style、font-weight、font、letter-spacing、word-spacing、text-transform 和 line-height。如果没有在一个元素上设置这些属性,则其继承上层的相应属性。

文本系列属性

文本系列属性主要包括 color、direction、text-align、text-indent、text-decoration、text-shadow、white-space、word-wrap 和 hyphens。只有 color 属性可以被继承自父元素,其他都不能继承。

其他系列属性

其他系列属性主要包括 visibility、cursor、list-style 和 quotes。list-style 属性可以继承,但 quotes 属性不能被继承。

inherit(继承)值

每一个属性可以指定值为“inherit”,即:对于给定的元素,该属性和它父元素相对属性的计算值取一样的值。继承值通常只用作后备值,它可以通过显式地指定“inherit”而得到加强,例如:

p { font-size: inherit; }

继承的局限性

继承虽然减少了重复定义的麻烦,但是有些属性是不能继承的,例如 border(边框)、margin(边距)、padding(补白)和背景等。

这样的设定是有道理的,例如设定了边框,如果此属性也继承的话,那么在这个内所有的元素都会有边框,这无疑会产生一个让人眼花缭乱的结果。

同样的,影响元素位置的属性,例如 margin(边距)和 padding(补白),也不会被继承。

同时,浏览器的缺省样式也在影响着继承的结果。例如:

body { font-size: 12px; } 

会使 <h2> 中文字的大小采用标题 2 样式而非 12px 大小的文字。这是因为浏览器的缺省样式设定了 <h2> 的 CSS 规则。

有些老版本的浏览器可能对继承支持不太好,例如某些浏览器当遇到 <table> 的时候,就会丢失所有的继承的属性。

CSS 属性一旦继承了就不能被取消,只能重新定义样式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值