自定义组件对应的样式文件,只对该组件内的节点生效。编写组件样式时,需要注意以下几点:
- 组件和引用组件的页面不能使用 id 选择器(
#a)、属性选择器([a])和标签名选择器,请改用 class 选择器。 - 组件和引用组件的页面中使用后代选择器(
.a .b)在一些极端情况下会有非预期的表现,如遇,请避免使用。 - 子元素选择器(
.a > .b)只能用于View组件与其子节点之间,用于其他组件可能导致非预期的情况。 - 继承样式,如
font、color,会从组件外(父组件)继承到组件内。但是引用组件时在组件节点上书写的className无效。 (具体解决方案请参见下面的外部和全局样式介绍。) - 除继承样式外,
app.scss中的样式、组件所在页面的样式,均对自定义组件无效。
除此以外,组件可以指定它所在节点的默认样式,使用#a { } /* 在组件中不能使用 */[a] { } /* 在组件中不能使用 */button { } /* 在组件中不能使用 */.a > .b { } /* 除非 .a 是 view 组件节点,否则不一定会生效 */
:host选择器(需要包含基础库 1.7.2 或更高版本的开发者工具支持)。/* 该自定义组件的默认样式 */:host {color: yellow;}
