Html 在表格单元格中用百分比宽度打断长单词

Html 在表格单元格中用百分比宽度打断长单词,html,css,Html,Css,小提琴说明了一切。我想要一个只使用css的解决方案,将表的宽度限制为div的宽度。长字符串应该被打断(但正如您所看到的那样),这会导致表溢出 我不想使用任何像素宽度。这应该是完全流动的 <div> <table> <tr> <td> short string </td> <td> somereallylongstringofdatasomerea

小提琴说明了一切。我想要一个只使用css的解决方案,将表的宽度限制为div的宽度。长字符串应该被打断(但正如您所看到的那样),这会导致表溢出

我不想使用任何像素宽度。这应该是完全流动的

<div>
<table>
    <tr>
        <td>
            short string
        </td>
        <td>
somereallylongstringofdatasomereallylongstringofdatasomereallylongstringofdata
        </td>
        <td>
            short string
        </td>
    </tr>
</table>
</div>

div {
    width: 50%;
    background-color: darkgray;
    padding: 15px;
    margin: 10px auto;
}
table {
    border-collapse: collapse;
}
td {
    border: 1px solid black;
}

短线
somereallylongstringofdatasomereallylongstringofdatasomereallylongstringofdata
短线
div{
宽度:50%;
背景色:暗灰色;
填充:15px;
利润率:10px自动;
}
桌子{
边界塌陷:塌陷;
}
运输署{
边框:1px纯黑;
}

有一个CSS3属性:
换行:断开单词要求浏览器支持CSS3的ofc。

写下以下内容:

table {
border-collapse: collapse;
    table-layout: fixed;
    width:100%
}
td {
    border: 1px solid black;
    word-wrap:break-word;
}

检查这个:

我已经玩了一段时间了,事实证明这一点都不容易

我把长文本放在一个div中,并用word包装,但是TD单元格仍然是全宽的,即使div包装了文本

我有一个解决方案,但它相当多的添加,所以在一个多行表上可能会太多,我会把它放在这里,以防其他人可以改进它,我绝不是一个HTML开发人员,刚刚开始涉足自己,但这里是


我已将大文本放在原始td内的另一个表中,并将该表设置为布局:固定;宽度100%。还添加了边框以显示正在进行的操作。这有点像撬棍,我希望其他人能改进它。

我认为用css打破这个词是不可能的。您可以在获取数据时计算字符数,然后在文本部分周围插入span标记(如果超过预定的连续非中断字符数)。浏览器的默认呈现方式是,如果有足够的空间,则将内联跨距彼此相邻,如果没有空间,则中断到下一行。

我的解决方案有点难看。但它确实很管用。无论是使用JS还是任何发出html的东西,都可以将
放在文本的每X个字符之间。这让浏览器可以决定何时打断这些单词,但从视觉上看,如果它适合表格单元格,它将显示为一个字符串。

各位看一看

添加“
wordbreak:break all;
”将有效


查看此图。

您可以将div设置为
溢出:隐藏
。这将使表的可视区域保持正确的宽度,但内容仍将溢出并被隐藏。我不确定你的要求是否可行。@Jeff可能不可能,我只是检查一下。不幸的是,我需要内容可查看。
word-wrap:break-word
仅适用于设置的像素宽度。我编辑了小提琴,很快就发现了这一点。这确实很有效,但唯一的问题是我希望某些专栏比其他专栏更宽。。固定表布局不允许您调整列的大小,即使是像素宽度。我们无法在office网络中看到链接,请发布一些代码,而不是链接:(
/* Warning: Needed for oldIE support, but words are broken up letter-by-letter */
   -ms-word-break: break-all;
   word-break: break-all;

   /* Non standard for webkit */
   word-break: break-word;

   -webkit-hyphens: auto;
   -moz-hyphens: auto;
   -ms-hyphens: auto;
   hyphens: auto;