【经验】固定高度容器内的image垂直水平居中另一解法

在某一个网站(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:"."}


阅读本文后,您的心情是:
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
知识共享许可协议
评论(0) 浏览(15809) 引用(0)
引用地址:http://blog.baiwand.com/tb.php?sc=31ab31&id=215
Tags:
« 【分享】iframe,img,script,link空路径对页面性能影响的解决方案 【解决】Chrome动态插入的gif格式的img节点/背景图片无法显示的解决方案 »

Blogger

  • blogger
  • 天之骄子
  • 职位:研发工程师
    铭言:
    阳光与欢乐同在,
    与我同在
    主页:
    blog.baiwand.com

分类目录

日志归档

主题标签

数据统计

  • 日志:151篇
  • 评论:45条
  • 碎语:264条
  • 引用:0条

链接表

随机日志 »

最新日志 »

最新评论 »

标签云 »

订阅Rss
sitemap