仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1069|回复: 10
打印 上一主题 下一主题

[DIV+CSS] CSS教程之办理一连字符主动换行word-wrap和word-break参数

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 00:07:33 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
那么什么是Div+CSS标准?Div+CSS的标准化设计到底有什么好处?
主动换行成绩,一般字符的换行是对照公道的,而一连的数字和英笔墨符经常将容器撑年夜,挺让人头疼,上面先容的是CSS怎样完成换行的办法

关于div,p等块级元素
一般笔墨的换行(亚洲笔墨和非亚洲笔墨)元素具有默许的white-space:normal,当界说的宽度以后主动换行
html
<divid="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;}

<divid="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
效果:能够完成换行
2.(Firefox扫瞄器)一连的英笔墨符和阿拉伯数字的断行,Firefox的一切版本的没有办理这个成绩,我们只要让超越界限的字符埋没大概,给容器增加转动条

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

<divid="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
效果:容器一般,内包庇躲
关于table
1.(IE扫瞄器)利用table-layout:fixed;强迫table的宽度,过剩内包庇躲
<tablestyle="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;换行
<tablewidth="200"style="table-layout:fixed;">
<tr>
<tdwidth="25%"style="word-break:break-all;">abcdefghigklmnopqrstuvwxyz1234567890
</td>
<tdstyle="word-wrap:break-word;">abcdefghigklmnopqrstuvwxyz1234567890
</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;没法起感化

<tablestyle="table-layout:fixed"width="200">
<tr>
<tdwidth="25%"style="word-break:break-all;overflow:hidden;">abcdefghigklmnopqrstuvwxyz1234567890</td>
<tdwidth="75%"style="word-wrap:break-word;overflow:hidden;">abcdefghigklmnopqrstuvwxyz1234567890</td>
</tr>
</table>

效果:埋没多于内容
</STRONG>文本的排版根据言语的分歧会有一些格局上的请求,好比简体中文中相似逗号、分号等标点标记不会呈现在一行的开首,关于英文来说就是一个完全单词不会在两行显现,扫瞄器会根据相似如许的准绳来显现文本。可是因为网页有宽度限定的,一连的超长的字母、数字或标点标记超越其地点地区宽度的限定而招致影响页面视觉,如例1所示。这个成绩在显现用户输出信息时尤其凸起,这里就是要说怎样办理这个成绩。
在CSS3草案中,对文本的处置新增了两个新属性word-wrap和word-break来办理这个成绩:

  • {word-wrap:break-word;}:按照亚洲言语和非亚洲言语的文本划定规矩,同意在字内换行,且同意非亚洲言语文本行的恣意字内断开
  • {word-break:break-all;}:内容将在界限内换行,如必要则词内换行(word-break)也行产生
上面是罕见扫瞄器的撑持情形:
 IEFirefoxOperaSafari/Chrome{word-wrap:break-word;}td元素需设置其宽度
见例4和例5不撑持不撑持不撑持td元素
见例4和例5{word-break:break-all;}不撑持一连的标记
见例3不撑持不撑持撑持
因为{word-break:break-all;}招致英文和数字可读性严峻下落且没法使一连标记换行,以是{word-wrap:break-word;}是一个绝对较好的选择。
但面临扫瞄器的云云糟撑持,以是不克不及不借助JavaScript来办理这个成绩,即当扫瞄器不撑持CSS办理计划时,在一连字符串的得当地位拔出​字符(固然还能够用<wbr>和
不帅 该用户已被删除
沙发
 楼主| 发表于 2015-3-23 00:42:30 | 显示全部楼层
难以逾越的障碍会大大打击你的学习积极性。这就需要你的恒心,坚持不懈的决心。在自己无法解决某些问题时,就需要虚心请教别人.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 13:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表