聚合:将样式应用于Shadow DOM下的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚合:将样式应用于Shadow DOM下的元素相关的知识,希望对你有一定的参考价值。
我使用的是Polymer 2.0。我需要在Shadow DOM下为类应用样式。
如果情况如此(iron-dropdown
在阴影根下):
<paper-menu-button>
#shadow-root
<iron-dropdown></iron-dropdown>
</paper-menu-button>
iron-dropdown
的风格我们可以像这样写:
paper-menu-button {
--iron-dropdown: {
overflow:visible;
}
}
但是,在这种情况下:
<paper-menu-button>
#shadow-root
<iron-dropdown>
<div class="dropdown-content"> content </div>
</iron-dropdown>
</paper-menu-button>
我们如何为类.dropdown-content
应用样式
答案
<paper-menu-button>
允许使用CSS属性(即分别为<iron-dropdown>
和.dropdown-content
)来设置内部--paper-menu-button-content
和--paper-menu-button-dropdown
:
<dom-module id="x-foo">
<template>
<style>
paper-menu-button {
/* applies to inner iron-dropdown */
--paper-menu-button-dropdown: {
overflow: visible;
};
/* applies to inner .dropdown-content */
--paper-menu-button-content: {
box-shadow: 5px 10px 20px lightblue;
overflow: visible;
};
}
</style>
<paper-menu-button>
...
<paper-menu-button>
docs on styling可能会列出您可能会发现有用的其他CSS属性。
另一答案
你可以使用内联样式来设计.dropdown-content
。
不好但有效
以上是关于聚合:将样式应用于Shadow DOM下的元素的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 shadow dom 创建聚合物自定义元素,以便可以访问它的 shadowRoot?