当我使用开发人员工具检查元素时,它显示填充为零,但是当我查看该元素并将鼠标悬停在上面时,很明显单元格内有填充。我不知道这是从哪里来的,而设置td { padding: 0 !important }
无效。
当我使用开发人员工具检查元素时,它显示填充为零,但是当我查看该元素并将鼠标悬停在上面时,很明显单元格内有填充。我不知道这是从哪里来的,而设置td { padding: 0 !important }
无效。
所感知到的填充是由display: table-cell;
和 vertical-align: inherit;
(通常值为middle
),与默认浏览器/用户代理样式中 <td>
结合使用时,针对 tr.mat-row
设置了 height
所引起的。带有 CSS 类 .mat-row
的 <tr>
默认高度为 48px
。您可以调整高度或设置为 height: auto;
然后根据需要调整 td.mat-cell
的填充。这有效地消除了使用开发人员工具检查时可见的感知填充。在类似 Chrome 开发人员工具中检查 <td>
时看到的绿色填充可视化是仅显示具有表格单元格的中间垂直对齐元素的工具。如果您检查该 <td>
的计算机属性,则会看到它的四个边都没有填充。
.mat-row {
height: auto;
}
.mat-cell {
padding: 8px 8px 8px 0;
}
这里有一个StackBlitz演示 tr.mat-row
上的height: auto;
以及在td.mat-cell
上使用自定义填充值的效果。
虽然我建议不要更改td.mat-cell
上的display
属性值,但您可以将其更改为类似于inline-block
的东西,以查看没有对mat-row
的height
进行任何调整的影响。
!important
上才能为我正常工作,因为mat-table的代码显然是直接编写到<style>
块中的。 - StevestyleUrls
,就像答案中的示例一样,组件CSS样式会封装在组件的视图中,并且不需要!important标签,因为会创建选择器,例如table[_ngcontent-c6]
。如果您正在使用全局CSS,则可能需要增加特定性或使用!important,就像您提到的那样。 - Alexander Staroselskymat-mdc-row
和mat-mdc-cell
。 - undefined