自定义组件对应的样式文件,只对该组件内的节点生效。编写组件样式时,需要注意以下几点:

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