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

所属分类: 网页制作 / CSS 阅读数: 1442
收藏 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控制文字自动换行的实现方法全部内容了,希望大家多多支持脚本之家~

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

CSS3实现背景透明文字不透明的示例代码

这篇文章主要介绍了CSS3实现背景透明文字不透明的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈CSS中的尺寸单位

这篇文章主要介绍了浅谈CSS中的尺寸单位的相关资料,浏览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

CSS中有些属性的前面会加上“*”或“_”所代表的意思

这篇文章主要介绍了CSS中有些属性的前面会加上“*”或“_”所代表的意思,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS 设置滚动条样式的实例代码

这篇文章主要介绍了CSS 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)

这篇文章主要介绍了纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

纯css实现多级折叠菜单折叠树效果

这篇文章主要介绍了纯css实现多级折叠菜单折叠树效果,运用checkbox的checked值来判断下级栏目是否展开,通过css3选择器提供的checked伪类来实现此效果,感兴趣的朋友参考下吧
收藏 0 赞 0 分享

CSS Grid 网格布局全解析

这篇文章主要介绍了CSS Grid 网格布局全解析的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

css flex 弹性布局详解

这篇文章主要介绍了css flex 弹性布局详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS3 二级导航菜单的制作的示例

这篇文章主要介绍了CSS3 二级导航的制作的示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用css禁用input、checkbox、select等html控件实现disable效果

这篇文章主要介绍了使用css禁用input、checkbox、select等html控件实现disable效果,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多