`

长英文字母换行

    博客分类:
  • css
 
阅读更多

今天项目中遇到这样的情况:

使用table呈现数据时,由于数据是很长的英文字母或者很长的数字时,如:wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww这个长英文字母不会自动换行,导致整个table表格的布局就乱了,将其他td的宽度都快挤没了。

上网查询原因,原来是因为字母之间没有空格,系统认为这是一个单词就不会自动换行。

解决办法:

办法一:
在<table>标签中加入:style="table-layout:fixed;" ,在需要强制换行的<td>标签中加入style="word-wrap:break-word"
办法二:
在需要强制换行的<td>标签中加入style="word-break:break-all"就可以了。
 
 
下面是一些css属性功能的用法:
word-wrap:normal和break-word两个值
    normal:默认的属性值。(允许内容顶开指定的容器边界)
    break-word:内容将在边界内换行(不截断英文单词换行,截断英文单词下面的属性才具备这个功能)
word-break:normal、break-all、keep-all三个值
    normal:如果是中文则到边界处的汉字换行,如果是英文整个词换行。注意:如果出现某个英文字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示。
    break-all: 强行换行,将截断英文单词 
    keep-all: 不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行,注意:如果出现某个英文字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示。
text-overflow: clip、ellipsis  (文本溢出)
             clip :  不显示省略标记(...),而是简单的裁切
             ellipsis :  当对象内文本溢出时(超过width部分)显示省略标记(...)
white-space: normal、 pre 、nowrap  (内容不换行)
    normal: 默认。空白会被浏览器忽略。
    pre: 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
    nowrap :文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics