📅  最后修改于: 2023-12-03 15:11:40.944000             🧑  作者: Mango
当我们想要将一个元素精确地居中在页面或者其他容器中时,我们需要使用CSS中的定位和transformation属性。
CSS中的定位属性包括position
、top
、bottom
、left
、right
,这些属性用来确定元素在页面中的位置。其中,position
属性有3种取值:static
、relative
、absolute
、fixed
。static
为默认值,表示位置为文档流中的相对位置,其他则表示相对于指定元素为基准来定位。
例如:
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
在这个例子中,.child
元素相对于.parent
元素定位。top: 50%; left: 50%;
表示将元素的左上角放置在父元素的中心位置,而transform: translate(-50%, -50%);
用来将元素向左上移动自身宽高的一半,使元素最终处于父元素的正中央。
Transformation属性用来修改元素的显示效果,包括旋转、缩放、倾斜、平移等。其中,translate
用来修改元素的位置,语法为translate(x轴的位移, y轴的位移)
。
例如:
.child {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
这个例子和上一个例子相似,用transform: translate(-50%, -50%);
来将元素向左上移动自身宽高的一半。这里的translate
改变了元素的位置。
绝对位置中心的实现需要使用CSS中的定位和transformation属性。我们可以使用position: absoulte;
和transform: translate(-50%, -50%);
将元素精确地居中。