我有一个 div 表使用display: column; width: 100px;
单元格正在使用display: table-cell; white-space: nowrap; overflow: hidden;
,因为我总是希望数据在同一行,如果它太长应该被切断。
这是一个jsfiddle。
<div class="table">
<div class="column1" style="display:table-column;width:50px;overflow:hidden;"></div>
<div class="column2" style="display:table-column;width:50px;overflow:hidden;"></div>
<div class="column3" style="display:table-column;width:200px;overflow:hidden;"></div>
<div class="column4" style="display:table-column;width:50px;overflow:hidden;"></div>
<div class="row">
<div class="cell"><span>a sdf</span></div>
<div class="cell"><span>as dlfk jas dofj </span></div>
<div class="cell"><span>as klödfjasdfj asöldfjk as</span></div>
<div class="cell"><span>a sdf</span></div>
</div>
<div class="row">
<div class="cell"><span>a sdf</span></div>
<div class="cell"><span>as dlfk jas dofj </span></div>
<div class="cell"><span>as klödfjasdfj asöldfjk </span></div>
<div class="cell"><span>a sdf</span></div>
</div>
<div class="row">
<div class="cell"><span>a sdf</span></div>
<div class="cell"><span>as dlfk jas dofj </span></div>
<div class="cell"><span>kludd as klödfjasdfj asöldfjkaskj fhalksfh alskdfhak dfhaslkfhasldfh asklh aslkdfh asklfh</span></div><!-- Add this to the cell: style="max-width:0px;"-->
<div class="cell"><span>a sdf</span></div>
</div>
<div class="row">
<div class="cell"><span>a sdf</span></div>
<div class="cell"><span>as dlfk jas dofj </span></div>
<div class="cell"><span>as klödfjasdfj asöldfjk </span></div>
<div class="cell"><span>a sdf</span></div>
</div>
<div>
.table{
display:table;
table-layout:fixed;
border:1px solid;
}
.row{
display:table-row;
}
.cell{
display:table-cell;
border-right:1px solid;
white-space:nowrap;
overflow:hidden;
}
.cell:last-of-type{
border:0;
}
.cell span{
text-overflow:ellipsis;
}
在数据长于 200 像素之前,该表的行为应如此。我可以通过设置max-width: 200px;
单元格来解决这个问题。但是,宽度是来自服务器的动态值,我不想为样式属性中的每个单元格呈现这些不必要的数据。
是否有可能以解决此问题的方式编写我的专栏?
还有一件奇怪的事情,如果我max-width: 0px;
在单元格上设置了一个样式属性,它的数据很长,它会呈现为 200px!有人可以解释一下吗?