【问题标题】:Remove style-scope from nested elements in Polymer 1.0从 Polymer 1.0 中的嵌套元素中删除样式范围
【发布时间】:2015-09-16 12:29:55
【问题描述】:

我正在尝试在纸质对话框中添加纸质按钮元素,但样式没有被拾取,因为它不断将style-scope 类添加到对话框的所有子元素中。它似乎对所有元素/自定义元素以及所有类都执行此操作(不仅仅是style-scope)。

问题是样式似乎都使用了下面的选择器,因此实际样式没有正确表示。

:not([style-scope]):not(.style-scope)

我觉得我只是在文档中遗漏了一些东西,因为演示中没有这个类。

提前致谢!

【问题讨论】:

  • 你能提供一个更完整的例子吗?您要对按钮应用什么样式?
  • 嘿,您找到合适的解决方案了吗?我遇到了同样的问题,这让我发疯了。

标签: javascript polymer polymer-1.0


【解决方案1】:

这是Cross-scope styling,即您希望 CSS 规则“穿透 Shadow DOM 封装”的位置。

如果您想创建可重用的组件,那么您应该使用自定义 CSS 属性来公开可以更改的规则。如果您正在制作自己使用的组件,那么外部样式表是一种更简单的方法:

<dom-module id="my-awesome-button">
    <!-- special import with type=css used to load remote CSS -->
    <link rel="import" type="css" href="my-awesome-button.css">

我建议您阅读我链接到的文档,因为很难给出一个好的总结,因为有几种不同的方法,每种方法都有其优缺点。

【讨论】:

【解决方案2】:

我有类似的问题。请在您的自定义元素中使用此代码。

<script>
    (function () {
        Polymer({
            is: 'custom-element',                
            attached: function() {
               this.async(function() {
                  $('paper-button').removeClass('style-scope');
               });
            }
        });
    })();
</script>

【讨论】:

  • 请添加一些解释。解释为什么你的代码应该工作。
  • 这与我采用的方法类似;但是,它只是感觉不对。 :)
  • 这确实有点奇怪,而且一直在搞乱我的造型。我肯定想知道处理这个问题的正确方法是什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多