.用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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,694评论 1 92
  • 水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显...
    CAICL阅读 3,262评论 0 3
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 12,543评论 3 30
  • 参考文章:深入了解CSS的line-height属性Vertical-Align: 你需要知道的所有事【译】Ver...
    若邪Y阅读 8,794评论 1 6
  • 我不得不很无奈又确定的说,我这三十多年,最重要的老师,就是书! 多年前就听到一个说法,你所受的教育造就了...
    青词读书看世界阅读 2,498评论 0 1

友情链接更多精彩内容