人生与戏

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

方法一:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        #wrap {
            width: 500px;
            height: 500px;
            background: grey;
            /*  #box的父级相对定位(为了box)  */
            position: relative;
        }
        #box{
            width: 200px;
            height: 200px;
            background: deeppink;
            /* box绝对定位 */
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
        }
    </style>
</head>
<body>
<div id="wrap">
    <div id="box"></div>
</div>
</body>
</html>

方法二:

  已知盒子宽高(利用盒子宽高,当盒子宽高改变会要求代码相应改变)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        #wrap {
            width: 500px;
            height: 500px;
            background: grey;
            position: relative;
        }
        #box{
            width: 200px;
            height: 200px;
            background: deeppink;
            
            position: absolute;
            top: 50%;
            left: 50%;
            /*  已知box盒子宽高所采取的以下完美居中调整 */
            margin-top: -100px;
            margin-left: -100px;
        }
    </style>
</head>
<body>
<div id="wrap">
    <div id="box"></div>
</div>
</body>
</html>

方法三:

  已知盒子宽高(不会因为盒子宽高改变受影响)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        #wrap {
            width: 500px;
            height: 500px;
            background: grey;
            position: relative;
        }
        #box{
            width: 200px;
            height: 200px;
            background: deeppink;
            
            position: absolute;
            top: 50%;
            left: 50%;
            /* 使box盒子自身上移50%;左移50%;完成完美居中 */
            transform: translate(-50%,-50%);
        }
    </style>
</head>
<body>
<div id="wrap">
    <div id="box"></div>
</div>
</body>
</html>

方法四:

  最新的,最好的

  flex元素水平垂直居中(新)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        #wrap {
            width: 500px;
            height: 500px;
            background: grey;
            /* 伸缩盒子*/
            display: flex;
            /* 子元素水平居中*/
            justify-content: center;
            /* 子元素垂直居中*/
            align-items: center;
        }
        #box{
            width: 200px;
            height: 200px;
            background: deeppink;
        }
    </style>
</head>
<body>

<div id="wrap">
    <div id="box"></div>
</div>

</body>
</html>            

方法五:

  flex元素水平垂直居中(老)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        #wrap {
            width: 500px;
            height: 500px;
            background: grey;
            /* 子元素盒子改变为灵活盒子,水平垂直居中 */
            display: -webkit-box;
            -webkit-box-pack: center;
            -webkit-box-align: center;
        }
        #box{
            width: 200px;
            height: 200px;
            background: deeppink;
        }
    </style>
</head>
<body>

<div id="wrap">
    <div id="box"></div>
</div>

</body>
</html>

 

posted on 2018-10-29 09:17  人生与戏  阅读(153)  评论(0编辑  收藏  举报