<body>
    <div class="box">
        <div class="con">我是2</div>
    </div>
</body>

1.给两个div元素各设置一个宽高加上背景色,方便我们看,另外为了更清楚他们的位置关系,我们把外层的宽高设置的大一点,里面的元素不设大小,由内容撑开(但是如果没有内容,就一定要设大小,会直观一些)

 层:    .box {
            background-color: red;
            width: 300px;
            height: 300px;
            }

外层: .con {
                    background-color: aqua;
                  
                    }

2,添加弹性盒元素:display:flex

先进行水平位置居中:justify-content:center

再进行垂直方向上的居中:align-items: center;

3,这已经能看到元素在水平方向上居中了,但是垂直方向上被拉伸的和父元素一样高了。

    这时我们得让子元素不拉伸,所以给子元素添加:flex-shrink: 0;   

注意:

     这几个都是要加给父项的元素

最终的CSS代码:

                     .box {
                                background-color: #98FB98;
                                width: 300px;
                                height: 300px;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                               }

                       .con {
                                background-color: aqua;
                                flex-shrink: 0;     

                               }

元素的垂直居中对齐

1、内联块元素:

        text-align:center;

        linehigh:和父元素高度相同的高度值;

 2、块级元素的垂直水平居中:

        margin:auto(在父元素中水平居中);

       定位:子绝父相,margin:50%;margin:-(元素高度的一半)

       

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐