超出宽度后,英文字符和汉字自动换行和不换行的设置
默认设置,一长串英文字符(中间没空格)不会自动换行,比 如:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa不能处理自动换行,而汉字字符却可以自动换行。原因 是:英文字母之间如果没有空格,系统认为是一个单词,就不会自动换行。汉字就没有这种情况。
1、在需要强制设置换行时,
td中:
需用css来控制style='word-break: break-all'
div中 :
div 实现长英文字母自动换行CSS
IE浏览器
#wrap{white-space:normal;
width:200px;
}
或者
#wrap{word-break:break-all;
width:200px;
}
Firefox浏览器
#wrap{white-space:normal;
width:200px;
overflow:auto;
}
或者
#wrap{word-break:break-all;
width:200px;
overflow:auto;
}
2、在不需要换行时
style='word-break: keep-all'//不会自动换行,有空格换行,ie支持,ff不支持
要想兼容ie和ff,需设置white-space: nowrap;
,这样设置,不论是英文还是汉字,也不管是否有空格都会不换行显示
white-space : normal | pre | nowrap
normal :默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre :换行和其他空白字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为
standards-compliant mode 支持。如果 !DOCTYPE 声明没有指定为 standards-compliant mode,
此属性可以使用,但是不会发生作用。结果等同于 normal 。参阅 pre 对象
nowrap :强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。
兼容性: IE5.5 +, Firefox
另外解释一下
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不断词,一句话一行,可以用来排列古诗哟~)
关于 overflow: hidden;
的说明
即使通过css控制了td横向字体隐藏截取,而纵向遇到
的情况还是会撑开单元格的高度,ie9好像支持这种效果,而不会撑开单元格的高度
推荐阅读
- 开学第一天(下)
- 爱就是希望你好好活着
- 三十年后的广场舞大爷
- Y房东的后半生14
- 七年之痒之后
- MediaRecorder前后摄像头同时录像
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 迷失的世界(二十七)
- 上班后阅读开始变成一件奢侈的事
- 你有婚内虐待行为吗()