html - Polymer:将样式应用于 Shadow DOM 下的元素

标签 html css polymer polymer-2.x

我使用的是 Polymer 2.0。我需要为 Shadow DOM 下的类应用样式。

如果是这样的话(iron-dropdown在shadow-root下):

<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>允许样式内部 <iron-dropdown>.dropdown-content具有 CSS 属性(即分别为 --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>
    ...

demo

<paper-menu-button> docs on styling可能会列出您可能会觉得有用的其他 CSS 属性。

关于html - Polymer:将样式应用于 Shadow DOM 下的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48021150/

相关文章:

html - IE6 anchor 自动换行(显示 :block, 宽度:0)

jquery - 如何仅使用 css 设计像 mashable 中那样的搜索面板

html - 文本输入光标太高。我该怎么办?

dart - 在 polymer 网格布局中自动调整 Canvas 大小

polymer 纸标签无法正确呈现

html - html中未达到最小宽度时防止div跳转到新行

javascript - 访问网络摄像头视频流的像素 (JS/WebRTC/MediaStreamTrack)

dart - 如何从全局命名空间访问 Polymer 元素中的 DOM 元素?

html - PrimeNG Turbotable 默认展开

javascript - 向 div 添加 onclick 事件