我必须将文本包装在一个div中,该div的width属性设置为auto。
我必须从用户那里获取输入并且必须显示它。有时用户输入的数据没有空格。到目前为止,正常的字符串包装没有任何样式。但是没有空格的长字符串会从容器中溢出。 在这里,我想使用“word-wrap:break-word;”包装文本。但是在为div指定特定宽度时它正在工作。但是当我指定宽度时,我的布局会在浏览器中损坏。
有没有解决方案使用自动换行而不指定宽度属性(它应该适用于所有浏览器)?
答案 0 :(得分:13)
最后,我对我的布局做了一些小改动,给出了所有浏览器的标准结果。
现在用户输入将进入表格&它包裹着小字,如果它们从容器中溢出,就会打破长字。
答案 1 :(得分:8)
以下是使用表格的另一个版本:
<div class="break-word-container">
very_long_word_without_spaces
</div>
以下是样式:
.break-word-container {
display: table;
table-layout: fixed;
width: 100%;
word-wrap: break-word;
}
答案 2 :(得分:2)
我为我的网络应用程序使用以下样式,它们在不同的浏览器中运行良好。
.longText {
word-break: break-all;
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 */
word-wrap: break-word; /* IE */
}
.longTextWrapper td {
white-space: pre-line;
}
希望它也能帮到你。
<fieldset style="overflow: auto;width:100%">
<h:panelGrid columns="1" styleClass="longTextWrapper ">
<h:outputText styleClass="longText" value="this is a very long messageeeeeeeeeeeeeeeeeeee...." />
</h:panelGrid>
</fieldset>
答案 3 :(得分:1)
您可以使用“div {word-wrap:break-word; width:auto; display:inline;}”。 如果没有足够的空间,它将打破工作。它适用于所有浏览器。
答案 4 :(得分:1)
使用overflow-wrap: break-word;
它可以进一步参考你可以查看here