Vaadin + LitElement - `get styles()` 中的样式没有得到应用
Vaadin + LitElement - styles from `get styles()` not getting applied
我有一个简单的 LitElement class,我想用一些内部 CSS:
来设置样式
import {LitElement, html, css, customElement, property} from 'lit-element';
@customElement('address-card')
export class AddressCard extends LitElement {
@property()
streetAddress?: string;
@property()
postalCode?: string;
@property()
city?: string;
static get styles() {
return css`
.address { border: 1px dashed gray; }
`;
}
render() {
return html`
<div class="address">
<div>${this.streetAddress}</div>
<div>${this.postalCode} ${this.city}</div>
</div>
`;
// Remove this method to render the contents of this view inside Shadow DOM
createRenderRoot() {
return this;
}
}
static get styles()
方法应该允许我向组件添加样式,但我在那里添加的任何内容似乎都没有得到应用。甚至应该影响所有元素的 * { ... }
选择器似乎也无能为力。
问题是 createRenderRoot()
方法。如果禁用影子根,则无需在组件实现中封装样式 - 您可以使用全局 CSS。如果要封装样式,请删除 createRenderRoot
覆盖并应用 static get styles()
规则。
我有一个简单的 LitElement class,我想用一些内部 CSS:
来设置样式import {LitElement, html, css, customElement, property} from 'lit-element';
@customElement('address-card')
export class AddressCard extends LitElement {
@property()
streetAddress?: string;
@property()
postalCode?: string;
@property()
city?: string;
static get styles() {
return css`
.address { border: 1px dashed gray; }
`;
}
render() {
return html`
<div class="address">
<div>${this.streetAddress}</div>
<div>${this.postalCode} ${this.city}</div>
</div>
`;
// Remove this method to render the contents of this view inside Shadow DOM
createRenderRoot() {
return this;
}
}
static get styles()
方法应该允许我向组件添加样式,但我在那里添加的任何内容似乎都没有得到应用。甚至应该影响所有元素的 * { ... }
选择器似乎也无能为力。
问题是 createRenderRoot()
方法。如果禁用影子根,则无需在组件实现中封装样式 - 您可以使用全局 CSS。如果要封装样式,请删除 createRenderRoot
覆盖并应用 static get styles()
规则。