html - 使用 CSS 包装一个长单词

标签 html css

我试图在一个 div 中包装一个包含大约 500 多个字符的单词。

<table><tr><td style="width: 100px;" colspan=""><div class="wordwrap"><p>
dwhjifuidfinrnvfrvgjsrfjoejwofjjfpijqfpqejospjfcjcdefjipwejpfjespfjweokpwoefweeeepWSPgjwrqeo[fj[ejwo[jfqjfo[cfj[e[awfjw[fw[ofj[sejfpjwerpjfpwrjgjrjghyhefdjsjflkfasjgfiosdjfgsfgsdfiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigrwewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttu
</p></div> </td></tr></table>

Is there a way to word-wrap long words in a div? 中提供了此解决方案

<style type="text/css">
 .wordwrap { 
   white-space: pre-wrap;      /* CSS3 */   
   white-space: -moz-pre-wrap; /* Firefox */    
   white-space: -pre-wrap;     /* Opera <7 */   
   white-space: -o-pre-wrap;   /* Opera 7 */    
   word-wrap: break-word;      /* IE */
}
 </style>

但它不起作用。 按照这个Is there any way to wrap html text when 'all one word' is used?还 。 可能是什么问题?

最佳答案

因为你的长字在<table>之内- 你需要添加 table-layout: fixed;

table { 
   width: 100%; 
   word-wrap:break-word;
   table-layout: fixed;
}

table { 
   width: 100%; 
   word-wrap:break-word;
   table-layout: fixed;
}
<table ><tr><td style="width: 100px;" colspan=""><div class="wordwrap"><p>
dwhjifuidfinrnvfrvgjsrfjoejwofjjfpijqfpqejospjfcjcdefjipwejpfjespfjweokpwoefweeeepWSPgjwrqeo[fj[ejwo[jfqjfo[cfj[e[awfjw[fw[ofj[sejfpjwerpjfpwrjgjrjghyhefdjsjflkfasjgfiosdjfgsfgsdfiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigrwewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewettttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttu

</p></div> </td></tr></table>

FIDDLE

说明:

table-layout 的默认值是auto这意味着浏览器将根据表格单元格的内容决定列的宽度。

在这种情况下,表格布局算法会查看那个非常长的单词并说:“哎呀,我需要一个非常宽的列来适应这个单词”

通过设置table-layoutfixed - 浏览器根据第一行 中单元格的宽度确定列的宽度,而不考虑其他行中存在的内容量。 (参见 MDN)

在这里,一行有一个单元格 - 所以 table-layout: fixed说:让那个单元格成为整个表格的宽度! (有 width: 100% )

注意: table-layout: fixed要生效,必须设置表格的宽度(使用除 auto 以外的值)

有关table-layout的更多详细信息- 参见 this article

关于html - 使用 CSS 包装一个长单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18229387/

相关文章:

javascript - 猫头鹰旋转木马 |如何使用 CSS 更改 .Item 的大小

css - 减小多选框的大小

php - 在 php 中查找 DIV WordPress的

javascript - 来自谷歌的 JQuery 无法正确加载并且脚本永远不会运行

javascript - 开关盒不起作用 - 找不到值(value)

html - 如何从 typescript 文件中以 Angular 获取背景颜色并将其绑定(bind)到我的 html 页面?

html - 基本 SVG 背景图像大小属性

java - 从html源代码中过滤pdf链接

css - 避免绝对定位的元素超出页面宽度的边界

html - 使用 Flexbox 使无序列表响应