使用 CSS 绝对定位居中 Div
CSS(级联样式表)用于定义 HTML 元素的样式以及它们在适应不同设备和屏幕尺寸时应如何显示。 使用 CSS 可以节省大量工作,因为它可以一次控制多个页面的布局。
让我们看看它如何使用 absolute 属性使 div 类中的元素居中。
使用 CSS 居中元素
如果我们想要将任何文本、图像、框或元素组居中,我们必须将它们垂直和水平放置。 尽管水平和垂直定位的居中看起来很简单,但我们必须遵循的步骤有些棘手。
我们可以使用 text-align: center; 带内联和边距:0 auto; 使用块元素将元素水平居中。 使用 CSS 中的 absolute 属性,我们还可以将一个元素或一组元素垂直居中,水平居中,或者垂直和水平居中。
使用 absolute 属性
除非我们指定元素存在的位置,否则它们默认保持静态。 top 、left 、right 和 bottom 属性不适用于此。
因此,static 中的 HTML 元素是非定位的,并且显示为它们在标记语言中的样子。 但是有了绝对属性,元素的定位和行为就好像它们不存在一样。
绝对定位元素的空间从它那里拿走并分配给另一个,而绝对定位元素自己占用空间。
假设我们的 HTML 代码如下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
<title>Center an Absolute div</title>
</head>
<body>
<div class="container">
<div class="green-box"></div>
<div class="blue-box"></div>
</div>
</body>
</html>
如上面的代码片段中,它提到了文档类型是html并且在开头同时打开了 <html>
和 <head>
。 之后,它定义了允许访问不同字符的元字符集。
然后使用 href 将名为 style 的 CSS 文件链接到当前 HTML 文件,并在 <title>
中显示一个标题 Center an Absolute div。 接下来,我们必须在关闭 <head>
之后打开一次 <body>
。
在 <body>
中,打开了一个名为 container 的 div 类,并创建了另外两个 green-box 和 blue-box。 在最后一部分,<div>
、<body>
和 <html>
标记是结束序列。
样式.css代码:
.container {
margin: 50px;
display: flex;
border: 4px solid green;
padding: 50px;
width: 400px;
}
.orange-box,.purple-box {
width: 100px;
height: 100px;
}
.orange-box {
background-color: orange;
}
.purple-box {
background-color: purple;
}
上面的代码片段是style.css里面的代码。
首先,我们创建了一个带有定义属性的绿色边框容器。 接下来,我们构建了两个宽度和高度为 100px 的橙色和紫色盒子。
输出:
在 style.css 文件中自定义框内的属性,我们可以将它们水平居中、垂直居中或水平和垂直居中。
为了清楚起见,让我们只自定义紫色框。 为了使元素居中,您可以根据下面提到的用例修改上面的代码。
使用 absolute 属性水平居中元素
示例代码:
.purple-box {
background-color: purple;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
}
输出:
根据上面的代码片段,我们使用 absolute 属性定位了紫色框,而 left 和 right 的值为 0。此外,上边距和下边距均为 0,而左右边距均为 auto。
因此,它需要一个对象宽度的自动边距。
正如我们在输出中看到的那样,紫色框使用绝对位置属性水平居中。
使用 absolute 属性垂直居中元素
示例代码:
.purple-box {
background-color: purple;
position: absolute;
top: 0;
bottom: 0;
margin: auto 0;
}
输出:
通过上面的代码片段,我们使用 position 中的 absolute 属性将紫色框设置为垂直居中,并将顶部和底部的值设置为 0。此外,将顶部和底部的边距值设置为 auto,而边距 左侧和右侧的值为 0。
按照上面的代码自定义紫色框后,我们可以使用上面输出中显示的 absolute 属性将其垂直居中放置。
使用 absolute 属性水平和垂直居中元素
示例代码:
.purple-box {
background-color: purple;
position: absolute;
right: 0;
left: 0;
top: 0;
bottom: 0;
margin: auto;
}
输出:
该方法是上述方法的集合。 为了使紫色框水平和垂直居中,我们在将位置设置为绝对位置后将右、左、上和下的值设置为 0。
然后我们将 auto 指定为顶部、底部、左侧和右侧的边距值。
采用上述方法,我们可以将紫色框相对于页面垂直和水平居中。 但是在这里,我们使用的是容器。
如果我们想要将适合绿色边框容器的紫色框居中,我们必须如下定义容器属性中的相对位置。
示例代码:
.container {
margin: 50px;
display: flex;
border: 4px solid green;
padding: 50px;
width: 400px;
position: relative;
}
输出:
以上三个实例是元素居中的主要三个实例,我们在每个实例中都定义了紫色框的宽度。
除此之外,如果宽度未知,我们可以使用具有相对比例的 transform 方法,使用它在响应性和灵活性方面表现最好,而不是指定宽度值。
transform: translate(-50%, -50%);
transform: translate(-50%, 0);
transform: translate(0, -50%);
在这种方法中,translate 函数中的左侧刻度与 x 轴对应,而另一个刻度与 y 轴对应。 根据比例,元素是响应式的。
总结
使用绝对属性,我们可以调整块的大小并根据百分比进行响应。 在整篇文章中,我们通过示例讨论了元素水平居中、垂直居中以及水平和垂直居中。
与静态元素不同,绝对定位元素不尊重我们声明它们的容器。 但是对于相对定位的元素,绝对定位的元素有一个带有 margin 和 top 、bottom 、left 和 right 属性的边界。
如果宽度未定义,则 transform 方法会增加灵活性和响应能力。
相关文章
覆盖 Bootstrap CSS
发布时间:2023/04/28 浏览次数:59 分类:CSS
-
本文介绍的是著名的 CSS UI 框架 Bootstrap。 我们将讨论使用自定义样式覆盖 Bootstrap CSS 的过程。
使用 CSS 制作带圆角的 HTML 表格
发布时间:2023/04/28 浏览次数:107 分类:CSS
-
这个简短的文章是关于在 HTML 页面上制作圆角表格的 CSS 样式。使用 CSS 制作带圆角的 HTML 表格 使图像、表格或 div 段的角变圆的属性是 border-radius。
CSS 设置轮廓 outline 的半径
发布时间:2023/04/28 浏览次数:123 分类:CSS
-
在本文中,用户将学习如何为 outline 属性设置圆角,与 border-radius 属性相同。 在这里,我们已经解释了将圆角应用于轮廓属性的不同方法。
使用 CSS 居中视频
发布时间:2023/04/28 浏览次数:73 分类:CSS
-
在本文中,用户将学习仅使用 CSS 将 <video> 元素居中。 我们已经在下面解释了使用 CSS 使视频居中的多种方法。
使用 CSS 居中内联块
发布时间:2023/04/28 浏览次数:108 分类:CSS
-
在本文中,我们将创建多个 HTML 元素并将其显示设置为 inline-block。 之后,我们将学习使用 display: inline-block 将所有元素居中。
使用 CSS 添加透明边框
发布时间:2023/04/28 浏览次数:98 分类:CSS
-
在本文中,我们将讨论在 HTML 中的图像、按钮或任何其他对象周围创建透明边框。 透明边框是图像或对象周围的边框,可改善用户体验。
使用 CSS 向上移动文本
发布时间:2023/04/28 浏览次数:153 分类:CSS
-
有时,在开发网页时,我们将文本放在底部或页脚中,因此我们可能需要在文本下方留一个空格并将文本上移。 我们将学习如何使用 css 从网页底部向上移动文本。
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
CSS 防止文本选择
发布时间:2023/04/28 浏览次数:75 分类:CSS
-
在本文中,我们讨论了防止文本选择和使用具有 none 值的 user-select 属性。 此外,您还将了解如何为不同的 Web 浏览器使用该属性。