在某一个网站(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="/intl/en/images/logo.gif" width="140"> </div> |
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="/intl/en/images/logo.gif" width="140"> </div> |
再设置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="/intl/en/images/logo.gif" width="140" style="vertical-align:middle;"> </div> |
所以就有人这样做了:(设置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="/intl/en/images/logo.gif" width="140" style="vertical-align:middle;"> </div> |
上述方法已通过IE7+,FF,Chrome测试~~
或者,如果你不需要兼容IE低版本,你可以直接用:after伪类来处理这个".",
div:after{content:"."}
时间: 2024-10-24 10:07:12