插件窝 干货文章 在 HTML 和 CSS 中使 Div 居中的不同方法

在 HTML 和 CSS 中使 Div 居中的不同方法

div gt lt class 815    来源:    2024-10-22

在 linkedin 上关注我
在 github.com 上关注我

点击阅读

没有boaring setion,我们可以重定向到编码!

1.使用flexbox

flexbox 是一个强大的布局工具,可以轻松地将元素水平和垂直居中。

例子:



    <meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>center div with flexbox</title><style>
        .container {
            display: flex;
            justify-content: center; /* horizontal center */
            align-items: center;    /* vertical center */
            height: 100vh;          /* full viewport height */
        }

        .centered-div {
            width: 200px;
            height: 200px;
            background-color: lightblue;
        }
    </style><div class="container">
        <div class="centered-div">centered with flexbox</div>
    </div>



2.使用网格

css grid 是另一个强大的布局系统,可以轻松地将元素居中。

立即学习“前端免费学习笔记(深入)”;

例子:



    <meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>center div with grid</title><style>
        .container {
            display: grid;
            place-items: center; /* center both horizontally and vertically */
            height: 100vh;       /* full viewport height */
        }

        .centered-div {
            width: 200px;
            height: 200px;
            background-color: lightcoral;
        }
    </style><div class="container">
        <div class="centered-div">centered with grid</div>
    </div>



3. 使用绝对定位和变换

此方法涉及绝对定位 div 并使用变换使其居中。

例子:



    <meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>center div with absolute positioning</title><style>
        .container {
            position: relative;
            height: 100vh; /* full viewport height */
        }

        .centered-div {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            background-color: lightgreen;
        }
    </style><div class="container">
        <div class="centered-div">centered with absolute positioning</div>
    </div>



4. 使用自动保证金

对指定宽度的元素设置 margin: auto 可以使其水平居中。

例子:



    <meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>center div with margin auto</title><style>
        .container {
            width: 100%;
            height: 100vh; /* full viewport height */
            display: flex;
            align-items: center; /* vertical center */
        }

        .centered-div {
            margin: 0 auto; /* horizontal center */
            width: 200px;
            height: 200px;
            background-color: lightcoral;
        }
    </style><div class="container">
        <div class="centered-div">centered with margin auto</div>
    </div>



5. 使用表格显示

此方法使用 display: table 和 display: table-cell 来使元素居中。

例子:



    <meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Center Div with Table Display</title><style>
        .container {
            display: table;
            width: 100%;
            height: 100vh; /* Full viewport height */
        }

        .centered-div {
            display: table-cell;
            vertical-align: middle; /* Vertical center */
            text-align: center;     /* Horizontal center */
        }

        .inner-div {
            display: inline-block;
            width: 200px;
            height: 200px;
            background-color: lightpink;
        }
    </style><div class="container">
        <div class="centered-div">
            <div class="inner-div">Centered with Table Display</div>
        </div>
    </div>



拜伊
快乐编码!