为了账号安全,请及时绑定邮箱和手机立即绑定

CSS垂直居中的6种方式,最快只需2行代码

标签:
CSS3

本文给出了6种利用CSS使HTML元素垂直居中与父元素的方法,其中包括:

1、2 绝对定位的方式

3 基于属性计算的方式(只需要2行代码哦)

4 利用vertical-align属性

5 盒子模型方式

6 基于内联元素特性

需要说一下下面的代码的打开方式,当启用一种方法时,请打开一种方法的注释,然后把其它方法注释掉,比如我想使用第2中最简单的方式,最终结果为:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS垂直居中</title>
        <style>
            .wrapper{
                width: 500px;
                height: 500px;
                background-color: #666;
                /*方式三 基于属性计算*/
                overflow: hidden;
            }

            .box{
                width: 100px;
                height: 100px;
                background-color: red;
                /*方式三*/
                margin: calc(50% - 50px) auto;
            }
        </style>
    </head>
    <body>
    <div class="wrapper">
        <div class="box"></div>
    </div>
    </body>
    </html>

好了,6种方法对应的总代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS垂直居中</title>
    <style>
        .wrapper{
            width: 500px;
            height: 500px;
            background-color: #666;
            /*方式一,方式二 绝对定位的方式*/
            /*position: relative;*/
            /*方式三 基于属性计算*/
            /*overflow: hidden;*/
            /*方式四: 基于vertical-align属性*/
            /*text-align: center;*/
            /*方式五: 使用弹性盒子*/
            /*display: flex;*/
            /*justify-content: center;*/
            /*align-items: center;*/
            /*方式六 基于块级内联元素的特性*/
            /*line-height: 550px; !*.wrapper.height+1/2*box.height*!*/
            /*text-align: center;*/
        }

        .box{
            width: 100px;
            height: 100px;
            background-color: red;
            /*方式一*/
            /*position: absolute;*/
            /*left:0;*/
            /*right: 0;*/
            /*top:0;*/
            /*bottom:0;*/
            /*margin: auto;*/
            /*方式二*/
            /*position: absolute;*/
            /*left: 50%;*/
            /*top: 50%;*/
            /*margin-left: -50px; !*1/2的width*!*/
            /*margin-top: -50px; !*1/2的height*!*/
            /*方式三*/
            /*margin: calc(50% - 50px) auto;*/
            /*方式四*/
            /*display: inline-block;*/
            /*vertical-align: middle;*/
            /*margin: 0 auto;*/
            /*方式六*/
            /*display: inline-block;*/
        }

        /*方式四的辅助元素*/
        /*.help{*/
            /*width: 0;*/
            /*height: 100%;*/
            /*display: inline-block;*/
            /*vertical-align: middle;*/
        /*}*/
    </style>
</head>
<body>
<div class="wrapper">
    <div class="box"></div>
    <!--方式四-->
    <!--<div class="help"></div>-->
</div>
</body>
</html>
点击查看更多内容
27人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
316
获赞与收藏
3231

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消