CSS中纯英文换行,纯数字换行的问题

系统 3209 0

如下图所示,当一个定义了宽度的DIV或者其他元素中填充的全部为纯英文或者纯数字的时候,在IE和火狐中都会被撑大,而不会自动换行

CSS中纯英文换行,纯数字换行的问题

 

并且当数字或者英文中带有汉字时,会从汉字处换行,而纯汉字却可以自动换行。这个问题如何解决?先来认识一下两位主角word-wrap和word-break

word-wrap 用来控制换行
两种取值:
(1)normal
(2)break-word(此值用来强制换行,内容将在边界内换行,中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。)

 

word-break 用来控制断词
三种取值:
(1)normal
(2)break-all(是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。)
(3)keep-all(是指Chinese, Japanese, and Korean不断词,一句话一行,可以用来排列古诗哟~)

【解决方法】
可以在CSS中加入:

word-wrap:break-word;
word-break:break-all;

由于项目的需要,其中一个属性的值不能超过50个字符限制,在测试的时候发现table中只能显示大概20多个字符,其余的都被遮盖掉了,故搜寻了一下解决方案,以备下次再用。

我的测试程序如下:

      <html>
<head>
<title>
测试英文和数字表格换行
</title>
</head>
<body>
<table style="table-layout:fixed;word-break:break-all" width="100%" border="0" cellspacing="0" cellpadding="5" >
<tr>
<th>值</th>
<th>含义</th>
<th>更新时间</th>
<th>操作人</th>
<th>操作</th>
</tr>
<tr>
<td>测试</td>
<td>ABCDGFHGJYABCDGFHGJYABCDGFHGJYABCDGFHGJYABCDGFHGJY</td>
<td>2009-09-18 15:43:24</td>
<td>某人</td>
<td>换行<td>
</tr>
</table>
</body>
</html>
    

 

这里说明一下其中style属性中的语法:

Html代码

table-layout :auto | fixed

参数:

Html代码

auto  : 缺省设置. 列宽将设置为不可分割的最大的内容的宽度。
fixed  : 表的宽度和列的宽度固定,不随单元格中内容而改变
1、设置了各个列的宽,没有设表的宽:表的宽度等于各个列的宽度和
2、设置了表的宽度,没有设各个列的宽度:各个列的宽度平均分配
3、要是都没设置宽度:表的宽度为100%,各个列的宽度平均分配

Html代码

word-break  :  normal  |  break-all  |  keep-all

参数:

Html代码

normal   :   依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all  :  该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任 意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all  :   与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本

注意:该语法仅适用于IE内核,对火狐不兼容!

 

CSS中纯英文换行,纯数字换行的问题


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论