如何覆盖默认聚合CSS

如何覆盖默认聚合CSS,css,polymer,web-component,shadow-dom,Css,Polymer,Web Component,Shadow Dom,现在,core toolbar有一个indent类,该类将标题向右缩进60px,而材料设计要求边距实际上应该是80px(事实上,60这个数字在整个文档中从未显示) 因此,我可以很容易地在bower\u组件/core toolbar/core toolbar.css中编辑它,但问题是,一旦我将项目移到其他地方,我必须在完成bower安装后进行同样的编辑,等等 请注意,如果我要扩展核心工具栏的话,我会遇到核心标题面板等问题。。因为它会寻找或者类“核心头”的东西,这有点麻烦,但我可以接受 这样做的最佳

现在,
core toolbar
有一个
indent
类,该类将标题向右缩进
60px
,而材料设计要求边距实际上应该是
80px
(事实上,
60
这个数字在整个文档中从未显示)

因此,我可以很容易地在
bower\u组件/core toolbar/core toolbar.css中编辑它,但问题是,一旦我将项目移到其他地方,我必须在完成bower安装后进行同样的编辑,等等

请注意,如果我要扩展
核心工具栏
的话,我会遇到
核心标题面板
等问题。。因为它会寻找
或者类
“核心头”
的东西,这有点麻烦,但我可以接受


这样做的最佳方法是什么?

一种方法可能是使用类似于注意的东西全局覆盖核心工具栏的样式,我在那里只得到了本机的ShadowDOM支持

或者,如果您愿意,也可以在特定实例中这样做&删除html/deep/bit


或者,您可以将自己的类添加到作为工具栏内容提供的元素中,并为其提供所需的缩进。

您也可以尝试创建自己的工具栏元素 一个noscript聚合元素,只包含css样式和核心工具栏。 比如:

<polymer-element name="my-toolbar" noscript>
<template>
  <style>
    core-toolbar { /* xxxx */ }
  </style>
  <core-toolbar><content></content></core-toolbar>
</template>
</polymer-element>

核心工具栏{/*xxxx*/}

甚至更好的是,您可以扩展核心工具栏,以保留核心工具栏中的所有属性处理

这种方法的问题是,它无法与利用核心工具栏的元素(如核心标题面板)一起工作。