天天看点

如何在 CSS 中设置组件在浏览器屏幕水平垂直居中

如何在 CSS 中设置组件在浏览器屏幕水平垂直居中

  在 CSS 中设置组件在浏览器屏幕水平垂直居中可分解为两个问题,一是设置组件在其父组件的水平垂直居中,二是让其父组件铺满整个屏幕。

  对于让最外层组件铺满整个屏幕,这需要将其宽高均设置为

100%

。不过这样做了会导致浏览器出现水平和垂直的滑条。这是因为元素 body 会默认有一定的边距 margin,一般为

8px

,所以同时还要将元素 body 的边距 margin 设为 0。

  对于让组件在父组件中水平垂直居中,方法有很多,这里选择 flex 布局。直接在父组件中设置 flex 布局和水平垂直居中即可。(注意:使用 flex 布局这种方法是在父组件中进行设置。)

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        body {
            /* 去掉边距,这里为了去除铺满屏幕后浏览器横竖两边的滑条 */
            margin: 0;
        }

        #outermost {
            /* 下面 3 行代码设置涂满整个屏幕 */
            height: 100%;
            width: 100%;
            position: absolute;

            /* 下面 3 行代码设置子元素横竖均居中 */
            display: flex;
            /*display: -webkit-flex;*/
            /* 设置水平居中 */
            justify-content: center;
            /* 设置垂直居中 */
            align-items: center;

            background: #00ff0d;
        }

        .item {
            width: 50px;
            height: 40px;
            border: 1px solid #00c1b1;
            background: #ffffff;
        }
    </style>
</head>
<body>
<div id="outermost">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
</div>
</body>
</html>
           

运行效果图:

如何在 CSS 中设置组件在浏览器屏幕水平垂直居中

继续阅读