polymer ,如何在纸对话框可滚动上调整内部 div 的填充

标签 polymer

paper-dialog-scrollable 的内容区域左右各有 24px 的内边距。我想改变这一点。呈现 HTML 时,它是一个内联样式表和一个具有填充的内联 div。我试过使用以下无济于事。 polymer 内联样式在我的内联样式之后出现。

不起作用:

<style>
  .scrollable {
    --paper-dialog-scrollable: {
        padding-left: 0px;
        padding-right: 0px;
    };
  }
</style>

在下图中我需要更改的是 id="scrollable"的 div。我认为实际上设置填充的是 scope=paper-dialog-scrollable-0。

enter image description here

那么如何在 paper-dialog-scrollable 上调整内部 div 的填充?

最佳答案

您可以使用像 ::shadow/deep/ 这样的选择器,但它们已被弃用。如果一个元素不提供钩子(Hook)(CSS 变量和混合),那么你基本上就不走运了,.scrollable 没有这样的钩子(Hook)。

您可以做的是在 elements GitHub 中创建一个功能请求repo 以通过 mixin 支持额外的选择器。

我已经成功使用的另一个解决方法是添加一个 style module .

像这样创建一个样式模块

<dom-module id="scrollable-customization">
 <style>
  .scrollable {
    --paper-dialog-scrollable: {
      padding-left: 0px;
      padding-right: 0px;
    };
  </style>
</dom-module>

导入它然后将它“注入(inject)”到可滚动元素

var myDomModule = document.createElement('style', 'custom-style');
myDomModule.setAttribute('include', 'scrollable-customization');
Polymer.dom(this.$pdscroll.root).appendChild(myDomModule);

我希望语法是正确的。我只在 Dart 中使用 Polymer。 dom 模块需要是 自定义样式,尽管这通常仅在 Polymer 元素外部使用时才需要。

另见 Styling Polymer paper-slider

关于 polymer ,如何在纸对话框可滚动上调整内部 div 的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422756/

相关文章:

Polymer v.1 全屏纸对话框

javascript - 如何在 Polymer 中编写 ES6 中的监听器?

polymer 3 升级 - 选择的铁页在 dom 中但不显示

javascript - 如何修改此 PolymerFire/Firebase 教程以使用电子邮件/密码登录而不是谷歌帐户?

polymer 1.0 : How to set width of <paper-dropdown-menu>?

javascript - 观察 polymer 的含量变化

javascript - 如何使用 Polymer 1.0 聚焦纸张输入?

custom-controls - 如何访问自定义元素的主机

javascript - 如何使用 javascript 使 Polymer core-scroll-header-panel 压缩

dart - 在Polymer Dart模板化器实例中编辑输入字段会引发错误