覆盖垫树的填充
Override padding for mat tree
我正在使用此示例 here 构建一个 mat-tree
使用平面 datasource
。现在,我想覆盖以下所有子项的默认值 padding-left
,即 40px
。我就是这样做的:
mat-tree-node:not(:first-child) {
padding-left: 16px;
}
这有效,但仅在树节点的第 2 层设置 16px
填充。当我继续扩展它们时,其余嵌套子项不会累积 16px。是否可以覆盖 matTreeNodePadding
指令?
内联样式总是会覆盖您在外部样式表中的任何样式。这意味着除非您将 !important
放在填充定义的末尾,否则您将无法覆盖从指令接收的填充。
您可以使用以下代码执行此操作:
mat-tree-node {
padding-left: 16px !important;
}
注意:使用 !important
将覆盖填充,但它也被视为带有 CSS 的大 "no no"。如果你能阻止指令自动向每个元素附加填充,那将是一个更好的解决方案。
我能够使用 api 文档 here 来解决问题。在这种情况下,必须为 matTreeNodePadding
缩进传递选择器输入。
<mat-tree-node matTreeNodePadding matTreeNodePaddingIndent="20">
这会将现有的默认 40px 左填充覆盖为 20px。
我正在使用此示例 here 构建一个 mat-tree
使用平面 datasource
。现在,我想覆盖以下所有子项的默认值 padding-left
,即 40px
。我就是这样做的:
mat-tree-node:not(:first-child) {
padding-left: 16px;
}
这有效,但仅在树节点的第 2 层设置 16px
填充。当我继续扩展它们时,其余嵌套子项不会累积 16px。是否可以覆盖 matTreeNodePadding
指令?
内联样式总是会覆盖您在外部样式表中的任何样式。这意味着除非您将 !important
放在填充定义的末尾,否则您将无法覆盖从指令接收的填充。
您可以使用以下代码执行此操作:
mat-tree-node {
padding-left: 16px !important;
}
注意:使用 !important
将覆盖填充,但它也被视为带有 CSS 的大 "no no"。如果你能阻止指令自动向每个元素附加填充,那将是一个更好的解决方案。
我能够使用 api 文档 here 来解决问题。在这种情况下,必须为 matTreeNodePadding
缩进传递选择器输入。
<mat-tree-node matTreeNodePadding matTreeNodePaddingIndent="20">
这会将现有的默认 40px 左填充覆盖为 20px。