使用 CSS 垂直居中 div
本文将介绍在 CSS 中垂直居中 div
的方法。
使用内部 div
中的 top
和 transform
属性使用 CSS 使 div
垂直居中
此方法使用两个容器来演示如何垂直居中 div
。
首先,我们可以创建一个外部和内部 div
,我们将相对于外部 div
垂直居中内部 div
。我们可以使用 CSS 属性 transform
和 top
垂直居中内部 div
。
top
属性只设置定位元素的垂直位置。该属性根据应用于元素的位置属性表现出不同的行为。
例如,如果 position
设置为 relative
,元素的顶部边缘将从其正常位置向下或向上移动。transform
属性采用多种值,而 translateY()
是我们将使用的值。
translateY()
函数将仅从 Y 轴平移元素。我们可以使用这两个属性垂直居中 div
。
例如,在 HTML 中创建一个 div
元素并用另一个 div
元素将其包裹起来。在 CSS 中,选择外部 div
并将 height
、width
和 background-color
设置为 180px
、300px
和 blue
。
接下来,选择内部 div
并将 position
属性设置为 relative
。然后,应用 red
作为 background-color
属性,并为 div
设置 20px
高度,并使用 translateY(-50%)
作为 transform
属性的值。
在下面的示例中,top
属性的 50%
值会将内部 div
的顶部边缘放置在外部 div
的垂直中间部分。但是,内部 div
没有居中,因为它的 height
为 20px
。
translateY(-50%)
值将使顶部边缘向上移动其高度的 50%。由于负值,它将向上移动,这意味着 div
将向上移动 10px
。这样,内部 div
垂直居中。
示例代码:
<div class='outer-div'>
<div class='inner-div'>
</div>
</div>
div.outer-div {
height: 180px;
width: 300px;
background-color: blue;
}
div.inner-div {
position: relative;
background-color:red;
height:20px;
top: 50%;
transform: translateY(-50%);
}
在 CSS 中使用 CSS Flexbox 垂直居中 div
我们可以创建一个灵活的容器并使用 justify-content
和 align-items
属性在 CSS 中垂直居中 div
。我们可以使用 display
属性将容器定义为 flexbox。
justify-content
属性将水平对齐 flexbox 中的元素。它需要各种选项,如 flex-start
、flex-end
、center
等。
类似地,align-items
属性将垂直放置 flexbox 内的元素。
例如,创建一个带有 box
类的 div
,并在其中创建另一个 div
。在内部 div
中写入一些文本。
在 CSS 中选择 body
和 html
标签并将高度设置为 100%
。接下来,选择 box
类并将其 height
设置为 100%
。
将 background
设置为 red
,将 display
属性设置为 flex
。最后,将值 center
设置为 justify-content
和 align-items
属性。
下面的示例将垂直和水平居中 div
内的文本。我们只能在一个灵活的容器中使用这两个属性。
因此,我们可以使用 flexbox 将 div
居中。
示例代码:
<div class="box">
<div>The Div</div>
</div>
html,body {
height: 100%;
}
.box {
height: 100%;
background: red;
display: flex;
justify-content: center;
align-items: center;
}
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn