自动换行问题,正常的字符是比较合理的,而连续的数字和英文字符常常容器撑开,挺让人头疼的,现在总结一下CSS如何实现换行的方法。可以保证网站的容器不会被撑开。
一、对于DIV,P等块级元素
正常文字的换行元素有拥有默认的white-space:normal,当定义的宽度之后自动换行
Html
<div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义</div>
Css
white-space:normal;
IE浏览器
连续的英文字符和阿拉伯数字,使用word-wrap:break-word;或者word-break:break-all;实现强制断行
Html
<div class="wrap">liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588</div>
CSS
#wrap{ word-wrap:break-word; } or #wrap{ word-break:break-all; }
Firefoxiy浏览器
firefox的3.5版本已经可以了,但是以下版本还不能确定.
Html
<div class="wrap">liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588</div>
CSS
#wrap{ word-wrap:break-word; }
最佳CSS定义换行代码:#wrap{word-break:break-all;word-wrap:break-word;overflow:hidden;}
二、对于表格元素
使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者word-wrap : break-word ;换行
Html
<table width="200" style="table-layout:fixed;"><tr><td width="25%" style="word-break : break-all; ">liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588</td><td style="word-wrap : break-word ;">liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588liuzhuo1588</td></tr></table>
在td,th中嵌套div,p等采用上面提到的div,p的换行方法
Firefox浏览器
1.使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者 word-wrap : break-word ;换行,使用overflow:hidden;隐藏超出内,这里overflow:auto;无法起作用
Html
<table style="table-layout:fixed" width="200"><tr>
<td width="25%" style="word-break : break-all; overflow:hidden; ">52csscom52csscom52csscom52csscom52csscom52csscom</td>
<td width="75%" style="word-wrap : break-word; overflow:hidden; ">52csscom52csscom52csscom52csscom52csscom52csscom</td>
</tr></table>
2.在td,th中嵌套div,p等采用上面提到的对付Firefox的方法。最佳CSS定义换行代码
.wrap { table-layout:fixed; word-break: break-all; overflow:hidden; }