垂直居中解决方案,兼容ie6+

本来想发在博客上的。妈的最近博客抽风。文章发布老是有问题。哎

不想折腾。烦死人了。直接放个demo得了

垂直居中demo

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>垂直居中解决方案(兼容ie6+)</title>
    <link rel="stylesheet" href="http://www.zhangweiwei.cn/demo/reset.css">
    <style>
        .vertical-box {
            width: 198px;
            height: 198px;
            background-color: yellow;
            border: 1px red solid;
            text-align: center;
        }

        .vertical-box:after {
            content: '';
            display: inline-block;
            vertical-align: middle;
            height: 100%;
        }

        strong {
            display: block;
        }

        .content {
            display: inline-block;
            vertical-align: middle;
            *display: inline;
            *zoom: 1
        }

        .ie7 {
            width: 0;
            font-size: 0;
            height: 100%;
            display: inline-block;
            *display: inline;
            *zoom: 1;
            vertical-align: middle;
        }
    </style>
</head>

<body>

    <div class="vertical-box">
        <div class="content">
            <img src="http://prototype.ui.sh.ctriptravel.com/git/Flight/online/master/offline/trade_sharing/images/add_pic.png" alt="">
            <strong>添加图片</strong>
        </div>
        <i class="ie7"></i>
    </div>



    <script>
        console.log("just for fun")
    </script>
</body>

</html>

原理是:都显示为行框的高度由最高的行内框决定。

ie7作为演员,高度指定和父元素一致。

兼容性:支持inline-block的浏览器均可。

对于IE6/7,可以先使用hack方式使其支持 inline-block后,使用此方法实现垂直居中。

其他方法很多用这个也是可以解决的,table table-cell等。道理一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值