polymer - Polymer 2.x 中槽内的样式元素

标签 polymer polymer-2.x

我创建了一个包含插槽的 polymer 元件。每个槽都旨在用带有子元素的 HTML 元素替换/填充,而不仅仅是纯文本。如何设置插槽内元素的样式,而不仅仅是插槽顶层的元素?或者也许,使用带有子元素的插槽是错误的吗?

例如:

模板文件:

<dom-module id="my-element">
  <template>
    <style>
      .class-1 {
        /* Styles here works! */
      }
      .class-1 ::slotted(ul) {
        /* Styles here works! */
      }
      .class-1 ::slotted(ul) a {
        /* Styles here doesn't work */
      }
    </style>
    <div class="class-1">
      <slot name="s1"></slot>
    </div>
  </template>

  <script>
    class MyElement extends Polymer.Element {
      static get is() { return 'my-element'; }
    }
    window.customElements.define(MyElement.is, MyElement);
  </script>
</dom-module>

HTML 文件:

<my-element>
  <ul slot="s1">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
  </ul>
</my-element>

感谢您的帮助!

最佳答案

Slotted 不允许使用子选择器。这意味着

.class-1 ::slotted(ul) a

根本无法工作,因为“a”是子选择。

关于polymer - Polymer 2.x 中槽内的样式元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44467775/

相关文章:

polymer - 如何识别我的计算机上安装的 polymer cli 版本?

jquery - Iron-ajax GET 返回错误请求

polymer - Polymer2 中的 on-tap 事件未调用方法

html - polymer 2.0如何让一个元素全面屏?

css - 如何在 Polymer 中访问孙元素的 css mixin?

polymer-2.x - 如何从 shadow-DOM 获取元素

javascript - 暴露 polymer 中的 API

javascript - 如何从一系列颜色中动态更改 polymer 1.0 纸质按钮的颜色?

dart - polymer -如何从Paper-Input获取ID?

cordova - 聚合物 2 和 Cordova