PHP前端开发

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

百变鹏仔 3个月前 (09-19) #CSS
文章标签 方法

在 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>

拜伊
快乐编码!