利用translate元素移动控制元素居中

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

    <style>
        article {
            border: solid 2px black;
            box-sizing: border-box;
            width: 400px;
            height: 400px;
            position: relative;
        }
        div {
            height: 200px;
            width: 200px;
            border: solid 2px yellowgreen;
            box-sizing: border-box;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
        }
    </style>
</head>
<body>
     <article>
         <div></div>
     </article>
</body>
</html>

刚开始没有设置元素移动时,执行left:50%;top:50%;后元素的左上角会向右和下分别移动父article的宽和高的一半,然后执行transform: translate(-50%,-50%);此时元素在分别向左和向上移动自己宽度和高度的一半,这样正好就居中的,之前做项目时看到别人这么搞过,今天明白为什么了。

发布了236 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/104538031
今日推荐