.用inline-block和vertical-align来实现全屏居中

用inline-block和vertical-align,通过行内块级元素的方式实现全屏居中;
利用:before伪类选择器,模拟一个虚拟行内块级元素;
行内块级元素换行会产生间隙,这个间隙跟font-size的大小有关,so在居中的时候需要利用margin负边距的方式去掉间隙;

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>居中</title>
    <style type="text/css">
        body {
            margin:0;
            _height:100%; /*兼容IE6*/
        }
        .container {
            width: 100%;
            height: 100%;
            /*100%全屏需要使用定位*/
            position: absolute;
            top: 0;
            left: 0;
            /*使行内元素或者行内块级元素水平居中*/
            text-align: center;  
            background-color: #ccc;
        }
        
        .container:before {
            content: "";
            display: inline-block;
            height: 100%;
            vertical-align: middle;
        }
        .center-p {
            background-color: yellow;
            display: inline-block;
            vertical-align: middle;
        }

    </style>
</head>
<body>
    <div class="container">
        <div class="center-p">
            table-cell居中
        </div>
    </div>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容