Heim >Web-Frontend >HTML-Tutorial >css实现两端对齐~
今天做表单时遇到让上下两个字段对齐的情况,手机号码、用户名。
然后今天在网上找了找相关方法,发现确实是没有什么好的方法解决,特别是当需要兼容的时候。找到了两个我觉得相对还不错的方法:
方法一、是在司徒正美的博客上看到的—— text-align, text-justify;
需要设置 text-align为justify就行了,text-justify的情况复杂些。IE的取值如下:
但它最早是作为IE的私有实现,像text-overflow, overflow-x等,在FF很晚才实现,换言之有严格的兼容性问题。并且FF,chrome需要手动在汉字间插入空白或软换行标签才生效,在chrome遇到的阻力就更大了。
<span style="color: #800000;">.test1 </span>{<span style="color: #ff0000;"> text-align</span>:<span style="color: #0000ff;">justify</span>;<span style="color: #ff0000;"> text-justify</span>:<span style="color: #0000ff;">distribute-all-lines</span>;<span style="color: #008000;">/*</span><span style="color: #008000;">ie6-8</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"> text-align-last</span>:<span style="color: #0000ff;">justify</span>;<span style="color: #008000;">/*</span><span style="color: #008000;"> ie9</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"> -moz-text-align-last</span>:<span style="color: #0000ff;">justify</span>;<span style="color: #008000;">/*</span><span style="color: #008000;">ff</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"> -webkit-text-align-last</span>:<span style="color: #0000ff;">justify</span>;<span style="color: #008000;">/*</span><span style="color: #008000;">chrome 20+</span><span style="color: #008000;">*/</span> }<span style="color: #800000;"> @media screen and (-webkit-min-device-pixel-ratio:0)</span>{<span style="color: #008000;">/*</span><span style="color: #008000;"> chrome</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"> .test1</span>:<span style="color: #0000ff;">after{ content:"."</span>;<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> inline-block</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;">100%</span>;<span style="color: #ff0000;"> overflow</span>:<span style="color: #0000ff;">hidden</span>;<span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;">0</span>; }<span style="color: #800000;"> }</span>
这种方法试了试,发现还是有些问题,是test1需要时块元素,如果是航标签的话,需要设置display:block;
原文章:http://www.cnblogs.com/rubylouvre/archive/2012/11/28/2792504.html
方法二、这个是无意中看到的,之前也想过但从来没这么做过,没想到真有人做了。
就是用table方法,按做表格的方式来做,这样文字肯定会平均分开。(O(∩_∩)O哈哈~别鄙视我!)
也可以类似的设置display:table属性:
table层设置display:table,td层设置display:table-cell。
当然原理是一样的,这么做需要每个字一个外框分割开来,方法确实不错,但是感觉挺BT得。