三、固定高度的多行文字垂直居中
这种方法比较复杂,我也会详细说明的。下面还是先看代码:
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
方法:
(1)vertical-align:middle; display:table-cell。这种方法的意思是:将对象强制转换为table,vertical-align:middle的作用和表格中的valign="center"相同。
本来是很方便的一个属性,但ie不支持这个属性。为了使各浏览器兼容,我们不得不想其他的方法。
(2)在对象内建立一个子对象,并在子对象内再建立一个子对象或段落。网页中:
<div id="a"><div><p>这里具有多行文字,高度是50px这里具有多行文字,高度是50px</p></div></div>
css中:
p {margin:0;}:因为在firefox中默认p是有间距的
#a {height:50px;position:relative;}:设置高度50,如果要是子对象相对它定位,则要设置position:relative
#a div {*position:absolute;*top:50%;}:前面加星号“*”只有ie支持,其他浏览器会忽略此设置。position:absolute设置了此子对象的定位为绝对定位,top:50%设置了显示在距顶端50%的位置,即25px(因为上面设置了父对象的高度为50px)。
#a div p {*position:relative;*top:-50%;}:这段代码只能先理解为向上移动剩下高度的50%。因为top设置了负值,相当于向相反的方向移动。
说明:支持主流浏览器(在ie6,firefox2下测试)。
2
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论