CSS之div中⽂字超出时⾃动换⾏
在开发中很容易遇到div中⽂字超出的问题,在此总结以下⽅法:
1. white-space :属性设置如何处理元素内的空⽩。这个属性声明建⽴布局过程中如何处理元素中的空⽩符。所有浏览器都⽀持 white-space 属性。注,任何的版本的 Internet Explorer (包括 IE8)都不⽀持属性值 "inherit"。
值描述
normal默认。空⽩会被浏览器忽略。
css设置表格滚动条
pre空⽩会被浏览器保留。其⾏为⽅式类似 HTML 中的 <pre> 标签。
nowrap⽂本不会换⾏,⽂本会在在同⼀⾏上继续,直到遇到 <br> 标签为⽌。
pre-wrap保留空⽩符序列,但是正常地进⾏换⾏。
pre-line合并空⽩符序列,但是保留换⾏符。
inherit规定应该从⽗元素继承 white-space 属性的值。
2. word-break属性规定⾃动换⾏的处理⽅法。通过该属性,可以让浏览器实现在任意位置换⾏。语法:word-break: normal|break-
all|keep-all;
值描述
normal使⽤浏览器默认的换⾏规则。
break-all允许在单词内换⾏。
keep-all只能在半⾓空格或连字符处换⾏。
3. 对于div进⾏强制换⾏
[1](IE浏览器)white-space:normal; 或  word-break:break-all;这⾥前者是遵循标准。
#wrap{white-space:normal; width:200px; } 或者 #wrap{word-break:break-all;width:200px;}
[2](Firefox浏览器)white-space:normal; 或 word-break:break-all; overflow:hidden;同样的FF下也没有很好的实现⽅法,只能隐藏或者加滚动条,当然不加滚动条效果更好!
#wrap{white-space:normal; width:200px; overflow:auto;} 或者 #wrap{word-break:break-all;width:200px; overflow:auto; }
4. 对于table强制换⾏
table-layout属性⽤来显⽰表格单元格、⾏、列的算法规则。
[1](IE浏览器)使⽤样式table-layout:fixed;
[2](IE浏览器)使⽤样式table-layout:fixed与nowrap;
[3] (IE浏览器)在使⽤百分⽐固定td⼤⼩情况下使⽤样式table-layout:fixed与nowrap
[4](Firefox浏览器)在使⽤百分⽐固定td⼤⼩情况下使⽤样式table-layout:fixed与nowrap,并且使⽤div。
强制不换⾏:div{white-space:nowrap;}
⾃动换⾏:div{ word-wrap: break-word; word-break: normal;}
强制英⽂单词断⾏:div{word-break:break-all;}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。