Vaadin Flow 中的 Shadow Dom 样式
Shadow Dom Style in Vaadin Flow
我已经为 this polymer element 编写了一个 vaadin 流包装器:
@Tag("simple-dropdown")
@HtmlImport("bower_components/simple-dropdown/simple-dropdown.html")
public class DropdownMenu extends Component implements HasComponents, HasSize, HasStyle {
...
}
这行得通。 simple-dropdown
的文档告诉我可以用这个 css:
设置阴影 dom 的样式
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
}
}
但是,我无法在 Vaadin 流中为这个 css 找到合适的位置。我必须把它放在哪里?
您可以在父级的样式中使用它,例如:
我的-element.html
<link rel="import" href="polymer/polymer.html">
<dom-module id='my-element'>
<template>
<style>
:host {
display:block;
}
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
}
}
</style>
<simple-dropdown origin="top right" label="menu" arrow>
<a href="#">item</a>
</simple-dropdown>
</template>
webapp/frontend/styles/shared-styles.html
<custom-style>
<style>
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
};
}
</style>
</custom-style>
然后,在顶层布局(不是流包装器!)
@HtmlImport("frontend://styles/shared-styles.html")
public class MainView extends Div {
...
}
我已经为 this polymer element 编写了一个 vaadin 流包装器:
@Tag("simple-dropdown")
@HtmlImport("bower_components/simple-dropdown/simple-dropdown.html")
public class DropdownMenu extends Component implements HasComponents, HasSize, HasStyle {
...
}
这行得通。 simple-dropdown
的文档告诉我可以用这个 css:
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
}
}
但是,我无法在 Vaadin 流中为这个 css 找到合适的位置。我必须把它放在哪里?
您可以在父级的样式中使用它,例如:
我的-element.html
<link rel="import" href="polymer/polymer.html">
<dom-module id='my-element'>
<template>
<style>
:host {
display:block;
}
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
}
}
</style>
<simple-dropdown origin="top right" label="menu" arrow>
<a href="#">item</a>
</simple-dropdown>
</template>
webapp/frontend/styles/shared-styles.html
<custom-style>
<style>
simple-dropdown {
--simple-dropdown-toggle: {
justify-content: right;
};
}
</style>
</custom-style>
然后,在顶层布局(不是流包装器!)
@HtmlImport("frontend://styles/shared-styles.html")
public class MainView extends Div {
...
}