让vertical-align: middle属性支持所有的浏览器

垂直居中也有个属性 vertical-align: middle; 这个属性普通设置是没有效果的。

第一种方法:通过一个空白图片可以达到垂直居中的效果。【建议使用】

 

 代码如下复制代码

<html>
 <title>图片居中</title>
 <style>
/*定义垂直居中*/
#test * {
 margin: 0px;
 padding: 0px;
 vertical-align: middle;
}

/*定义div大小,以及水平居中*/
#test {
 background: #fff000;
 width: 500px;
 height: 500px;
 text-align: center;
}

/*辅助图片高度填满div,宽度为0,所以看不到这个图片*/
#img {
 width: 0px;
 height: 100%;
}
</style>
 <body>
  <div id="test">
  <!--辅助图片 -->
   <img alt="" src="" id="img">
   <!--要居中的图片 -->
    <img alt="" src="skin/images/top/logo.jpg">
   </div>
 </body>
</html>

 

个人觉得vertical-align: middle 是相对于左边的高度垂直居中的,我给左边一个填满div的图片,就可以实现垂直居中了。

第二种方法:往div里面加表格。

 

 代码如下复制代码
<html>
    <style>
#a {
    background: #fff000;
    width: 500px;
    height: 500px;
    overflow: hidden;
    text-align: center;
}
</style>
    <body>
        <div id="a">
            <table width="100%" height="100%">
                <tr>
                    <td align="center">
                        <img src="skin/images/top/logo.jpg" />
                    </td>
                </tr>
            </table>
        </div>
    </body>
</html>

在表格里就很容易设置居中了。

经测试,这两种做法都没有浏览器不兼容的问题。推荐用第一种方法。

这也可以解决我们一般会在textarea标签的左边写一些提示性的文字 但是这些文字默认不是垂直居中而是垂直居底 按照上面的方法可以将这些文字设为垂直居中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值