宽高都为百分比的情况下有什么办法好垂直水平居中?transform会有模糊,不推荐

现在 有一个DIV有宽高的元素,想要在浏览器的中间,该如何处理?不使用transform

阅读 4.4k
8 个回答
div{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
}

#father{

    display: flex;
    align-items: center;
    justify-content: center;
}

或者:

#father {
    display: -webkit-box;
    -webkit-box-align: center;
    -webkit-box-pack : center;
}

高宽百分比的话
left=(100 - 宽的百分比)/2+'%'
top同理啊

新手上路,请多包涵

div{

        position:fixed;
        left: 50%;
        top: 50%;
        margin-left: -20%;
        margin-top: -150px;
        width: 40%;
        height: 300px;
        background: yellowgreen;
    }

不定高度用JS或者CSS3.

新手上路,请多包涵

display:table-cell;
text-align:center;
vertical-align:middle;

补充下 @zzgzzg00 的回答:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .out {
            width: 200px;
            height: 200px;
            background: green;
            position: relative;
        }

        .in {
            width: 40%;
            height: 40%;
            background: red;

            position: absolute;
            /*(100%-40%)/2 */
            top: 30%;
            left: 30%;
        }
    </style>
</head>

<body>
    <div class="out">
        <div class="in"></div>
    </div>
</body>

</html>

弹性盒,弹性盒呀。。

推荐问题
宣传栏