天天看点

div的水平垂直居中

div水平垂直居中的方法多种多样

图示:

div的水平垂直居中

下面展示一些

内联代码片

<body>
    <div id="parent">
        <div id="child"></div>
    </div>
</body>
           

方法一:使用flex布局

<style>
        * {
            margin: 0;
            padding: 0;
        }

        #parent {
            width: 400px;
            height: 400px;
            background-color: aqua;
            margin: 0 auto;
            display: flex;
            justify-content: space-around;
            align-items: center;
        }

        #child {
            width: 200px;
            height: 200px;
            background-color: bisque;

        }
    </style>
           

方法二:在父元素设置定位元素,在子元素使用绝对定位,相对于父元素进行定位,设置top和left属性,可以使用经过计算后的值或者百分比。

<style>
        * {
            margin: 0;
            padding: 0;
        }

        #parent {
            width: 400px;
            height: 400px;
            background-color: aqua;
            margin: 0 auto;
            position: relative;

        }

        #child {
            width: 200px;
            height: 200px;
            background-color: bisque;
            position: absolute;
            /* top: 100px;
            left: 100px; */
            top: 25%;
            left: 25%;

        }
    </style>
           

方法三:在子元素使用绝对定位元素,设置top,left,right,bottom的值为0,margin:auto;

<style>
        * {
            margin: 0;
            padding: 0;
        }

        #parent {
            width: 400px;
            height: 400px;
            background-color: aqua;
            margin: 0 auto;
            position: relative;

        }

        #child {
            width: 200px;
            height: 200px;
            background-color: bisque;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;

        }
    </style>
           

方法四:设置子元素的margin-left和margin-top的值,计算父元素的宽高减去子元素的宽高/2。