Html 列宽无法正常使用显示:表列;和空白:nowrap;

Html 列宽无法正常使用显示:表列;和空白:nowrap;,html,css,tablecolumn,Html,Css,Tablecolumn,我有一个使用display:column的div表;宽度:100px 单元格使用显示:表格单元格;空白:nowrap;溢出:隐藏因为我总是希望数据在同一行上,如果数据太长,应该将其切断 这是一本书 自卫队 作为dlfk jas dofj 作为klödfjasdfj asöldfjk as 自卫队 自卫队 作为dlfk jas dofj 作为klödfjasdfj asöldfjk 自卫队 自卫队 作为dlfk jas dofj kludd as klödfjasdfj asöldfjkaskj

我有一个使用
display:column的div表;宽度:100px

单元格使用
显示:表格单元格;空白:nowrap;溢出:隐藏因为我总是希望数据在同一行上,如果数据太长,应该将其切断

这是一本书


自卫队
作为dlfk jas dofj
作为klödfjasdfj asöldfjk as
自卫队
自卫队
作为dlfk jas dofj
作为klödfjasdfj asöldfjk
自卫队
自卫队
作为dlfk jas dofj
kludd as klödfjasdfj asöldfjkaskj fhalksfh alskdfhaskfhaskfhassldfh asklh aslkdfh asklfh
自卫队
自卫队
作为dlfk jas dofj
作为klödfjasdfj asöldfjk
自卫队
.桌子{
显示:表格;
表布局:固定;
边框:1px实心;
}
.行{
显示:表格行;
}
.细胞{
显示:表格单元格;
右边框:1px实心;
空白:nowrap;
溢出:隐藏;
}
.cell:类型的最后一个{
边界:0;
}
.细胞跨度{
文本溢出:省略号;
}
在数据长度超过200px之前,该表一直按其应有的方式运行。我可以通过设置
max width:200px来解决这个问题。但是,宽度是来自服务器的动态值,我不想为style属性中的每个单元格呈现这些不必要的数据

有没有可能用某种方式来写我的专栏来解决这个问题

还有一件奇怪的事,
如果我设置
最大宽度:0px在单元格的样式属性中,它以200px的形式呈现非常长的数据!有人能解释一下吗?

我想这就是你要问的,如果我错了,请告诉我

将[max width]设置为所需的任意值,然后设置[overflow:scroll]

//CSS块

.cell {
    display:table-cell;
    border-right:1px solid;
    white-space:nowrap;
    overflow:scroll;
    border: 1px solid;
    max-width: 200px;
}

您是否尝试过在源代码级别剪切字符串。如果这是来自数据库的SQL查询(etc),为什么不要求更少

还可以使用javascript.substring()函数剪裁文本

<div id="text_display"></div>
<script>
var content = "Hello world!";
document.getElementById("text_display").innerHTML = content.substring(0, 6);;
</script>

这将适用于这个简化的示例,但宽度由服务器设置。也许我可以从服务器上呈现这个,但这将是非常棘手的,因为它可以是多个不同宽度的表。我的意思是你应该像上面的例子一样设置最大宽度和scoll,或者你可以调整列的大小,这样你就可以拖动来展开它们。啊哈,但我不想要卷轴。如果单元格的内容太大。我希望它被隐藏。在我的情况下,在后端或使用JS剪切文本不是一个选项。我需要客户机上的数据。此外,由于字母的宽度不同,因此剪切文本将是对宽度的估计。我正在寻找一个纯CSS解决方案。
<div id="text_display"></div>
<script>
var content = "Hello world!";
document.getElementById("text_display").innerHTML = content.substring(0, 6);;
</script>
    <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="table">
        <div class="row">
            <div class="cell"><div>a sdf</div></div>
            <div class="cell"><div>as dlfk jas dofj </div></div>
            <div class="cell"><div>as klödfjasdfj asöldfjk as</div></div>
            <div class="cell"><div>a sdf</div></div>
        </div>
        <div class="row">
            <div class="cell"><div>a sdf</div></div>
            <div class="cell"><div>as dlfk jas dofj </div></div>
            <div class="cell"><div>as klödfjasdfj asöldfjk </div></div>
            <div class="cell"><div>a sdf</div></div>
        </div>
        <div class="row">
            <div class="cell"><div>a sdf</div></div>
            <div class="cell"><div>as dlfk jas dofj </div></div>
            <div class="cell"><div>kludd as klödfjasdfj asöldfjkaskj fhalksfh alskdfhak dfhaslkfhasldfh asklh aslkdfh asklfh</div></div>
            <div class="cell"><div>a sdf</div></div>
        </div>
        <div class="row">
            <div class="cell"><div>a sdf</div></div>
            <div class="cell"><div>as dlfk jas dofj </div></div>
            <div class="cell"><div>as klödfjasdfj asöldfjk </div></div>
            <div class="cell"><div>a sdf</div></div>
        </div>
    <div>
    <div>
.table{
    display:table;
    table-layout:fixed;
    border:1px solid;
}

.row{
    display:table-row;
}

.cell{
    display:table-cell;
    border-right:1px solid;
}
.cell:last-of-type{
    border:0;
}

.cell div {
    white-space:nowrap;
    overflow:hidden;
    width:50px;
    background:lightblue;
}
.row div:nth-child(3) div {
    background:white;
    width:200px;
}