polymer - 覆盖 polymer 扩展元素上的样式

标签 polymer

我试图在选择元素时覆盖样式。

这适用于 Safari 和 Firefox。它不适用于 Chrome 38。

<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../core-selector/core-selector.html">

<polymer-element name="my-selector" extends="core-selector"> 

  <template>
    <style>
    :host::shadow .item.core-selected{
      background: blue;
    } 
    </style>

    <shadow></shadow> 
  </template>

  <script>
    Polymer('my-selector');
  </script>
</polymer-element>

示例:

<my-selector>
  <div class="item">Item 1</div>
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
</my-selector>

最佳答案

尝试:

::content .item.core-selected {
  ...
}

:host::shadow尝试从主机的 Shadow dom 中挑选元素。在本例中,这不是元素所在的位置。 <div class="item">元素仍然通过插入点并且是 light dom 的一部分。它们需要使用 ::content 进行样式设置.

<script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/core-selector/core-selector.html">


<polymer-element name="my-selector" extends="core-selector">
  <template>
    <style>
      ::content .item.core-selected {
        background: blue;
        color: white;
      }
    </style>
    <shadow></shadow>
  </template>
  <script>
    Polymer('my-selector');
  </script>
</polymer-element>

<my-selector selected="0">
  <div class="item">Item 1</div>
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
</my-selector>

关于polymer - 覆盖 polymer 扩展元素上的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26490652/

相关文章:

javascript - Polymer v1.0 计算属性不重新计算

html - polymer 数据变化不反射(reflect)

javascript - 使用 Polymer core-overlay 关闭对话框

asp.net - 如何将 Polymer 元素绑定(bind)到 ASP.NET 中的模型

javascript - 纸质对话是否有 "onOpen"事件?

使用纸张输入和 core-ajax 的 polymer 形式

javascript - 父文档是否可以读取 Shadow DOM 元素的内容?

javascript - 当自定义元素中的所有内部绑定(bind)在 Polymer 中准备就绪时,如何获取事件?

polymer - polymer 中的 hostAttributes 和 properties 有什么区别?

android - polymer 1.x : Going from web to mobile