Sass 将材质表列动态宽度设置为内容
经过大量的修补,我终于有了一个像样的设置为我的材料表。它有分页,有排序,有我需要的所有好东西。但是,它看起来不太合适,因为我的几个列是一位数的值,它们的宽度与我希望更大的列的宽度相同(如过度包装的描述) 由于缺乏SCS(以及css)方面的经验,我不知道如何解决这个问题。我尝试用我能想到的所有方法修补flex属性,但它似乎没有改变表上的任何东西 这个问题更加复杂,因为我无法轻松使用基于列标识符的material表生成类的“hack”,因为列是动态生成的。我也可以传递宽度信息,但这似乎是一个无法维护的黑客行为Sass 将材质表列动态宽度设置为内容,sass,angular-material2,angular5,Sass,Angular Material2,Angular5,经过大量的修补,我终于有了一个像样的设置为我的材料表。它有分页,有排序,有我需要的所有好东西。但是,它看起来不太合适,因为我的几个列是一位数的值,它们的宽度与我希望更大的列的宽度相同(如过度包装的描述) 由于缺乏SCS(以及css)方面的经验,我不知道如何解决这个问题。我尝试用我能想到的所有方法修补flex属性,但它似乎没有改变表上的任何东西 这个问题更加复杂,因为我无法轻松使用基于列标识符的material表生成类的“hack”,因为列是动态生成的。我也可以传递宽度信息,但这似乎是一个无法维护
是否有一种方法可以将样式应用于整个表格和标题,从而获得所需的外观 假设您指的是角度材质表,此表可能会有所帮助:
列宽度和标题使用以下样式
columns={[
{
title: 'Create Date',
field: 'create_date',
cellStyle: {
whiteSpace: 'nowrap'
},
...
]}
options={{
headerStyle: {
backgroundColor: '#DEF3FA',
color: 'Black',
whiteSpace: 'nowrap'
},
我成功地将其用于Angular10 首先,用div将您的表括起来,如下所示:
<div class='table-responsive'>
<mat-table>
....
</mat-table>
</div>
这将根据内容调整单元格大小,并使表格水平滚动
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
}
.mat-table {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
display: table;
border-collapse: collapse;
margin: 0px;
}
.mat-row,
.mat-header-row {
display: table-row;
}
.mat-cell,
.mat-header-cell {
word-wrap: initial;
display: table-cell;
padding: 0px 5px;
line-break: unset;
width: auto;
white-space: nowrap;
overflow: hidden;
vertical-align: middle;
}