博客
关于我
不同浏览器对于换行的处理
阅读量:420 次
发布时间:2019-03-06

本文共 2380 字,大约阅读时间需要 7 分钟。

在一个容器中,如果设定了宽度,一般来说自动换行都是比较正常的,但是如果遇到了连续的英文字符,这个问题就会让人头疼。这不,部门的用户在测试的时候输入连续的字符,就出现了容器被撑大而样式变形的情况发生,怎么解决这个问题呢?

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

htmlxmlns="http://www.w3.org/1999/xhtml">    
字符换行

字符换行

div

IE浏览器中,连续的英文字符和阿拉伯数字可以通过word-wrap : break-word ;或者word-break:break-all;实现强制断行:

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

或者:

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

例如:

abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111

效果可以实现换行。

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

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

例如:

abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111

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

对于表格:

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

abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss

效果:隐藏多余内容。

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

abcdefghigklmnopqrstuvwxyz 1234567890 abcdefghigklmnopqrstuvwxyz 1234567890

效果:可以换行。

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

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

abcdefghigklmnopqrstuvwxyz1234567890 abcdefghigklmnopqrstuvwxyz1234567890

效果:隐藏多于内容。

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

以下是综合代码:

    
字符换行

字符换行

div

IE中,word-wrap : break-word ;:

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

IE中,word-break:break-all;:

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

Firefox中,word-break:break-all; 和 overflow:auto;:

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

表格中的td,th嵌套div:

abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss

最终,表格中td嵌套div:

abcdefghigklmnopqrstuvwxyz1234567890
abcdefghigklmnopqrstuvwxyz1234567890

转载地址:http://fcrkz.baihongyu.com/

你可能感兴趣的文章
python中函数接受参数为*args, **kwargs怎么办
查看>>
Python中切片的高效迭代
查看>>
python中列表乘法、eval、lambda、hasattr、assert、*(星)等的用法
查看>>
Python中制作词云的WordCloud参数详解
查看>>
Python中可用和使用的系统内存?
查看>>
python中存根文件(.pyi)的用途是什么?
查看>>
Python中实现ASCII码与字符相互转换
查看>>
Python中实现获取所有微信好友的头像并拼接成一张图片
查看>>
Python中对象的布尔值
查看>>
python中对集合的操作
查看>>
python中将列表转换为元组的时间复杂度,反之亦然
查看>>
Python中布尔表达式的求值
查看>>
python中很常用的10个内置函数整理(初学必备)
查看>>
python中打印二维列表数据
查看>>
python中打散数组shuffle
查看>>
Python中执行外部命令
查看>>
Python中拼接numpy数组-ChatGPT4o作答
查看>>
Python中提示:no module named 'PIL'
查看>>
Python中提示:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position
查看>>
python中数据类型存储_浅谈Python中的数据类型
查看>>