成长脚印-专注于互联网发展
【经验】固定高度容器内的image垂直水平居中另一解法
post by:天之骄子 2013-11-7 18:13
在某一个网站(freeappstools)上看到的这个“新奇”解法,说新奇,主要是国内各种总结的方法都没提到过,打引号,只是因为其中的原理很多人都知道:即依靠行高(line-height)的方法。

 line-height对于img元素并不起作用:

<div style="height:250px;background:#ccc;line-height:250px;width:400px;text-align:center;">
	<img alt="App Tools on File-Software.com" src="http://www.google.com/intl/en/images/logo.gif" width="140">
</div>

google


line-height对于box内的文本起作用,图片跟随着文字的基线对准:

<div style="height:250px;background:#ccc;line-height:250px;width:400px;text-align:center">
	A test paragraph<img alt="App Tools on File-Software.com" src="http://www.google.com/intl/en/images/logo.gif" width="140">
</div>

A test paragraphApp Tools on File-Software.com


再设置img的vertical-align:middle;就可以让图片垂直居中:

<div style="height:250px;background:#ccc;line-height:250px;width:400px;text-align:center">
	A test paragraph<img alt="App Tools on File-Software.com" src="http://www.google.com/intl/en/images/logo.gif" width="140" style="vertical-align:middle;">
</div>

A test paragraphApp Tools on File-Software.com


所以就有人这样做了:(设置font-size:1px,设置字体颜色和背景颜色一致,设置左缩进-1px,图片就完美垂直水平居中了,注意img前面的".")
<div style="height:250px;background:#ccc;line-height:250px;font-size:1px;width:400px;text-align:center;text-indent:-1px;color:#ccc">
	.<img alt="App Tools on File-Software.com" src="http://www.google.com/intl/en/images/logo.gif" width="140" style="vertical-align:middle;">
</div>
.App Tools on File-Software.com

上述方法已通过IE7+,FF,Chrome测试~~

或者,如果你不需要兼容IE低版本,你可以直接用:after伪类来处理这个".",
 div:after{content:"."}

评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容