CSS里面表单元素input
, button
, textarea
,select
等并不继承body的字体设置,它会使用系统或者浏览器自身的设置。
继承和 font-family
例如,如果给根部(也作:全局)的 html
元素定义一个 font-family
属性,那么可以确定这条规则会在文档里应用到所有祖先元素(有一些例外情况,将在下个部分讨论)。
html {
font-family: sans-serif;
}
/*
This rule is not needed ↷
p {
font-family: sans-serif;
}
*/
如果我在局部作用域里定义了某些规则,那么它们在全局,或者说在任意祖先级的作用域中都是无效的,只有在它们自己的子作用域里是有效的(就像在上面代码中的 p
元素里)。在下个例子当中,1.5
的 line-height
并没有被 html
元素用上。但是,p
里的 a
元素则运用上了 line-height
的值
html {
font-family: sans-serif;
}
p {
line-height: 1.5;
}
/*
This rule is not needed ↷
p a {
line-height: 1.5;
}
*/
inherit
关键字
某些类型的属性是不会默认继承的,而某些元素则不会继承某些属性。但是在某些情况下,可以使用 [property name]: inherit
来强制继承。例如 input , textarea . 可以使用通配选择符和 inherit
关键字
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
html {
font-size: 125%;
font-family: sans-serif;
line-height: 1.5;
color: #222;
}
场景
在做组件化拖拽时,例如组件内是一个文本款,组件在写的时候外层是包了一个div的,这时候在修改样式的时候,组件中的样式无法继承外层的div .