• 微信
您当前的位置:首页  > 文章 >  DIV+CSS实现长英文字母自动换行

DIV+CSS实现长英文字母自动换行

作者:admin 时间:2020-01-16 阅读数:3人

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


最佳CSS定义换行代码


.wrap { table-layout:fixed; word-break: break-all; overflow:hidden; } 

这里 overflow:hidden;或者 auto; 

=================================================================



对于div,p等块级元素 

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

html

<div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义</div>

css

#wrap{white-space:normal; width:200px; }


1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行


#wrap{word-break:break-all; width:200px;}

或者

#wrap{word-wrap:break-word; width:200px;}


<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>


效果:可以实现换行


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



#wrap{word-break:break-all; width:200px; overflow:auto;}


<div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>


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


对于table


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


<table style="table-layout:fixed" width="200">

<tr>

<td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss

</td>

</tr>

</table>


效果:隐藏多余内容


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


<table width="200" style="table-layout:fixed;">

<tr>

<td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz 1234567890

</td>

<td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz 1234567890

</td>

</tr>

</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;无法起作用



<table style="table-layout:fixed" width="200">

<tr>

<td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>

<td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>

</tr>

</table>


效果:隐藏多于内容


5.(Firefox浏览器) 在td,th中嵌套div,p等采用上面提到的对付Firefox的方法

运行代码框

最后,这种现象出现的几率很小,但是不能排除网友的恶搞。


下面是提到的例子的效果


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>字符换行-www.zzarea.com</title> <style type="text/css"> table,td,th,div { border:1px green solid;} code { font-family:"Courier New", Courier, monospace;} </style> </head> <body> <h1><code>div</code></h1> <h1><code>All white-space:normal;</code></h1> <div style="white-space:normal; width:200px;">Wordwrap still occurs in a td element that has its WIDTH attribute set to a value smaller than the unwrapped content of the cell, even if the noWrap property is set to true. Therefore, the WIDTH attribute takes precedence over the noWrap property in this scenario</div> <h1><code>IE / word-wrap : break-word ;</code></h1> <div style="word-wrap : break-word ; width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div> <h1><code>IE / word-break:break-all;</code></h1> <div style="word-break:break-all;width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div> <h1><code>Firefox/ word-break:break-all; overflow:auto;</code></h1> <div style="word-break:break-all; width:200px; overflow:auto;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div> <h1><code>table</code></h1> <h1><code>table-layout:fixed;</code></h1> <table style="table-layout:fixed" width="200"> <tr> <td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td> </tr> </table> <h1><code>table-layout:fixed; word-break : break-all; word-wrap : break-word ;</code></h1> <table width="200" style="table-layout:fixed;"> <tr> <td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td> <td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td> </tr> </table> <h1><code>FF / table-layout:fixed; overflow:hidden;</code></h1> <table style="table-layout:fixed" width="200"> <tr> <td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td> <td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td> </tr> </table> </body> </html>


声明

源码下载不顺利,比如源码在百度网盘的有时会被无故取消等,请联系QQ:46667551
本站大部分下载资源收集于网络,但除特别说明之外,基本全部亲自测试可用!
但由于某些源码的更新迭代,比如微信小程序官方接口的变动等原因,
如时间过长,可能会造成本可以使用的代码出现问题,下载前请斟酌!
本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

原文链接:https://www.dnwfb.com//1074.html,转载请注明出处