- 现在来说一说对齐的几种方法:
- 两端对齐大家都知道text-align:justify;
text-justify确不曾被人们所熟悉,它是干什么的呢?。先来看下语法。
参数:
auto :允许浏览器用户代理确定使用的两端对齐法则inter-word :通过增加字之间的空格对齐文本。该行为是对齐所有文本行最快的方法。它的两端对齐行为对段落的最后一行无效newspaper : 通过增加或减少字或字母之间的空格对齐文本。是用于拉丁文字母表两端对齐的最精确格式distribute :处理空格很像newspaper,适用于东亚文档。尤其是泰国distribute-all-lines :两端对齐行的方式与distribute相同,也同样不包含两段对齐段落的最后一行。适用于表意字文档inter-ideograph : 为表意字文本提供完全两端对齐。他增加或减少表意字和词间的空格
说明:
设置或检索对象内文本的对齐方式。
对应的脚本特性为textJustify。
英文单词断行问题:CSS中word-break、word-wrap以及hyphens的兼容性和区别
CSS中一提到单词断行,最先映入脑海的肯定是word-break和word-wrap这两条属性。但对于这两条属性到底有什么区别,兼容性如何,我一直都概念模糊。今天抽空把它们以及CSS3中新加入的断行属性之间的区别和作用理理清楚,做一下笔记。
在英文段落中有时会碰到一些很长的单词,这些单词的长度超出容器宽度。在默认的页面文档中,如果单词长度超出了单行,会被自动移到下一行中,图中puzzling!就被自动换行了;而如果单词本身的长度已经超出容器宽度,常规的文档对此就没有约束力了,图中dddddd…这个单词就这么溢出了:
为了不让这样超长的单词超出容器宽度,可以用word-break: break-all 强制断行。
但是强制换行会把完整的单词打断,会影响阅读,而且一旦用word-break: break-all,单词内断行的频率会非常高(puzzling!这个不词不算长单词,也被轻易的打断了)。我们需要的只是在单词本身长度超出容器宽度的时候强制断行,一般情况下,只需要根据空格来判断后面的单词是否需要换行,所以用word-wrap: break-word 就可以了:
所以用一个word-wrap: break-word,就能满足网页上最基本的换行排版了。
让我们再深入一点。读书时候英语老师曾教过我们,英语书写在换行的时候,为了节约纸张,把每一行最后的格子也利用起来,可以给没写完的那个单词加一个横杠“-”在下一行继续写完这个单词即可。在网页中有没有办法实现?答案还是有的,只是这是一个CSS3的属性:hyphens: auto
hyphens目前被浏览器支持度还比较有限,当前版本的谷歌浏览器Chrome就不支持,据我测试在Firefox,IE10+,Safari中还是被支持的,不过要给她加上几个熟悉的前缀:
1 2 3 4 | -moz-hyphens: auto; -ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; |
同时页面的编码也需要写成这种格式允许的语种:
1 | <html lang="en-US"> |
于是puzzling!这个单词在支持hyphens的浏览器中就自动加了横杠断行了:
配合word-wrap: break-word,就是一般我们需要的排版效果了:
1 2 3 4 5 6 7 | div { -moz-hyphens: auto; -ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; word-wrap: break-word; } |
另外,hyphens还有一个有趣的值:manual,可以通过特殊符号给单词人为的添加横杠断行,但个人觉得很少能用得到。具体可以参考mozilla的官方文档,里面还有浏览器兼容性列表
本文的实例代码在这里:http://blog.brain1981.com/wp-content/uploads/css-wordBreak.html。可以在不同的浏览器中打开这个页面查看单词断行的区别。
实例如下:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" />
< title >Div+Css实例:css文本两端对齐 </ title >
</ head >
< style >
.w1{ width: 500px;}
.w1 p{ font-size: 12px; line-height: 20px; padding: 5px;}
.a1{ background: #00FF00; text-align: justify; text-justify: inter-ideograph; word-wrap : break-word
}
.a2{ background: #FFFF00;}
</ style >
< body >
< div class ="w1" >
< p >原效果: </ p >
< p class ="a2" > 本届集团公司党委由2006年4月召开的华侨城集团公司第三次党员代表大会选举产生,由11名委员组成,其中书记1名、副书记1 名。2008年3月,因集团主营业务整体上市需要,经国务院国资委党委批准,集团公司党委设立常务委员会:设常委9名,其中书记1名,由郑凡同志担任;副书记2名,由任克雷同志和苏征同志分别担任;苏征同志同时兼任纪委书记。 </ p >
< p >两端对齐后产效果: </ p >
< p class ="a1" > 本届集团公司党委由2006年4月召开的华侨城集团公司第三次党员代表大会选举产生,由11名委员组成,其中书记1名、副书记1 名。2008年3月,因集团主营业务整体上市需要,经国务院国资委党委批准,集团公司党委设立常务委员会:设常委9名,其中书记1名,由郑凡同志担任;副书记2名,由任克雷同志和苏征同志分别担任;苏征同志同时兼任纪委书记。
</ p >
</ div >
</ body >
</ html >
text-align:Justify(火狐);text-justify:inter-ideograph(IE)
CSS中文英文文字两端对齐 让网页更好看
在制作网页时,把网页排版布局全部做好后,发布内容时,却发现不论是中文、英文文字两端对齐不理想,两边不整齐,让整个网页看起来不怎么好看。
妙用CSS代码,把文字两端对齐是很EASY的。CSS有两个属性是针对文字两端对齐的,我们只要把它放在需要文字两端对齐的CSS类或id里就可以了。
CSS中文英文文字两端对齐使用实例:
<html> <head> <style type="text/css"> .textbox{ text-align:justify; text-justify:inter-ideograph; } </style> </head> <body> <div class="textbox">文字</div> </body></html>
来自http://www.divcss5.com/rumen/r309.shtml