css控制文字自动换行的实现方法

所属分类: 网页制作 / CSS 阅读数: 1361
收藏 0 赞 0 分享

自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换行的方法

对于div,p等块级元素

正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行

html

正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义

css

CSS Code复制内容到剪贴板
  1. #wrap{whitewhite-space:normalwidth:200px; }   
1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行

CSS Code复制内容到剪贴板
  1. #wrap{word-break:break-allwidth:200px;}   
或者

CSS Code复制内容到剪贴板
  1. #wrap{word-wrap:break-word; width:200px;}   
  2.   
  3. abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111   

效果:可以实现换行

2.(Firefox浏览器)连续的英文字符和阿拉伯数字的断行,Firefox的所有版本的没有解决这个问题,我们只有让超出边界的字符隐藏或者,给容器添加滚动条

CSS Code复制内容到剪贴板
  1. #wrap  
  2.   
  3. {word-break:break-allwidth:200pxoverflow:auto;}   
  4.   
  5. abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111   

效果:容器正常,内容隐藏

对于table

1. (IE浏览器)使用 table-layout:fixed;强制table的宽度,多余内容隐藏

XML/HTML Code复制内容到剪贴板
  1. <table style="table-layout:fixed" width="200">  
  2. <tr>  
  3. <td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss   
  4. </td>  
  5. </tr>  
  6. </table>  

效果:隐藏多余内容

2.(IE浏览器)使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者word-wrap : break-word ;换行

XML/HTML Code复制内容到剪贴板
  1. <table width="200" style="table-layout:fixed;">    
  2.     <tr>    
  3.         <td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz 1234567890      
  4.         </td>    
  5.         <td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz 1234567890   
  6.         </td>    
  7.     </tr>    
  8. </table>  

效果:可以换行

3. (IE浏览器)在td,th中嵌套div,p等采用上面提到的div,p的换行方法

4.(Firefox浏览器)使用 table-layout:fixed;强制table的宽度,内层td,th采用word-break : break-all;或者word-wrap : break-word ;换行,使用overflow:hidden;隐藏超出内容,这里overflow:auto;无法起作用

XML/HTML Code复制内容到剪贴板
  1. <table style="table-layout:fixed" width="200">  
  2. <tr>  
  3. <td width="25%"  style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>  
  4. <td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>  
  5. </tr>  
  6. </table>  

效果:隐藏多于内容

5.(Firefox浏览器) 在td,th中嵌套div,p等采用上面提到的对付Firefox的方法
运行代码框
最后,这种现象出现的几率很小,但是不能排除网友的恶搞。如果

有什么问题请到在下面留言

下面是提到的例子的效果

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>字符换行   
  6.     
  7. </title>  
  8. <style type="text/css">  
  9. table,td,th,div { border:1px green solid;}   
  10. code { font-family:"Courier New", Courier, monospace;}   
  11.     
  12. </style>  
  13. </head>  
  14. <body>  
  15. <h1><code>div</code></h1>  
  16. <h1><code>All white-space:normal;</code></h1>  
  17. <div style="white-space:normal; width:200px;">Wordwrap still occurs in a td element that    
  18. has its WIDTH attribute set to a value smaller than the unwrapped content of the cell,    
  19. even if the noWrap property is set to true. Therefore, the WIDTH attribute takes    
  20. precedence over the noWrap property in this scenario</div>  
  21.     
  22. <h1><code>IE  word-wrap : break-word ;</code></h1>  
  23. <div style="word-wrap : break-word ; width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>  
  24. <h1><code>IE  word-break:break-all;</code></h1>  
  25. <div style="word-break:break-all;width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>  
  26.     
  27. <h1><code>Firefox/ word-break:break-all; overflow:auto;</code></h1>  
  28. <div style="word-break:break-all; width:200px; overflow:auto;">abcdefghijklmnabcdefghijklmnabcdefghijkl   
  29. mn111111111</div>  
  30. <h1><code>table</code></h1>  
  31. <h1><code>table-layout:fixed;</code></h1>  
  32. <table style="table-layout:fixed" width="200">  
  33. <tr>  
  34. <td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>  
  35. </tr>  
  36. </table>  
  37. <h1><code>table-layout:fixed; word-break : break-all; word-wrap : break-word ;</code></h1>  
  38. <table width="200" style="table-layout:fixed;">  
  39. <tr>  
  40. <td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>  
  41. <td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>  
  42. </tr>  
  43. </table>  
  44. <h1><code>FF  table-layout:fixed; overflow:hidden;</code></h1>  
  45. <table style="table-layout:fixed" width="200">  
  46. <tr>  
  47. <td width="25%"  style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>  
  48. <td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>  
  49. </tr>  
  50. </table>  
  51. </body>  
  52. </html>  

以上就是小编为大家带来的css控制文字自动换行的实现方法全部内容了,希望大家多多支持脚本之家~

更多精彩内容其他人还在看

CSS样式分离之再分离达到精简与重用

无论是CSS的分离还是js的分离,其主要作用之一就是精简与重用,CSS本身就代表着精简与重用,CSS样式分离,我一般指的是“以单独的CSS文件将CSS样式分离出来”,此处的重用多针对不同页面的重用,就是说,一个样式文件,可以多个页面使用,这对于一些公共样式的重构是很有
收藏 0 赞 0 分享

CSS属性behavior的语法使用说明

在进行CSS网页布局的时候,我们经遇到刷新要保留表单里内容的时候,习惯的做法使用cookie,但是那样做实在是很麻烦,css中的behavior就为我们很好的解决了这个问题。今天jb51.net就向大家介绍CSS属性behavior的语法
收藏 0 赞 0 分享

网页制作中的水平居中和垂直居中解决方法集合

 在定义网页的CSS样式的时候,我们或许并不怎么用到垂直居中。
收藏 0 赞 0 分享

最常见IE的Bug及其fix修复方法

Internet Explorer – Web程序员的毒药。在IE上开发时间中有超过60%的时间是花在和IE的bug进行搏斗,让你的开发生产率严重下降。下面是一个教程,告诉你9个IE上最常见的BUG以及如何解决它们。
收藏 0 赞 0 分享

CSS常用浏览器兼容调整小结

用CSS+DIV来写网站代码的好处显而易见,这里不多说了,但由于不同浏览器对CSS的解释不统一,造成不同浏览器下页面错位的现象十分常见……
收藏 0 赞 0 分享

css firefox火狐浏览器下的兼容性问题

css firefox火狐浏览器下的兼容性问题
收藏 0 赞 0 分享

DIV+CSS 浏览器兼容性小结

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果!
收藏 0 赞 0 分享

div+css 布局常识 8问

CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。今天jb51.net收集了常见的8条面试题目,希望对您有所帮助。
收藏 0 赞 0 分享

CSS用四种方式实现布局

CSS用四种方式实现布局
收藏 0 赞 0 分享

css 解决表格边框不显示的问题

在 IE6 中,当表格单元格中的数据为空时,边框是不显示的,在IE8中是会显示的,怎样解决这个不兼容的问题呢。
收藏 0 赞 0 分享
查看更多