在其父元素内居中放置绝对定位元素

增加

我想将一个 div 元素居中,该元素在其父元素内具有绝对位置值。我想让它垂直和水平居中。

我该怎么做?

<div class="parent_div">
  <div class="centered_div">
    <p>text</p>
    <p>text</p>
  </div>
  <a href=""><img src="img" alt="image"></a>
  <p>text</p>
  <p>text</p>
 </div>

所以 center_div 应该在 parent_div 中居中

瑞安戴

您可以通过将父母的位置设置为相对来做到这一点。然后将孩子的顶部、右侧、底部和左侧属性设置为 0,并将边距设置为自动。

.parent {
  width: 300px;
  height: 300px;
  border: 1px solid #ddd;
  position: relative;
}
.child {
  width: 100px;
  height: 100px;
  background: #ddd;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
<div class="parent">
  <div class="child"></div>
</div>

编辑

如前所述,使用 top、right、bottom 和 left 属性设置为 0 和自动边距仅在子元素具有设置的宽度和高度时才有效否则,子项将简单地填充父项的整个宽度和高度。如果你想在没有特别设置宽度和高度的情况下居中一个孩子,你可以使用 CSS translate()函数来完成。

首先,您可以通过将子项的顶部和左侧设置为其父项宽度和高度的 50% 来将子项的左上角居中。然后将其上下移动其自身宽度和高度的 50%。

.parent {
  width: 400px;
  height: 300px;
  border: 1px solid #ddd;
  position: relative;
}
.child {
  padding: 20px;
  background: #ddd;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
}
<div class="parent">
  <div class="child">
    <p>Lorem ipsum dolor.</p>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将绝对定位的元素水平居中放置在另一个元素的中心之下

CSS:放置绝对定位的元素,使其从外部接触其父元素

当父元素已定位时,如何相对于视口水平居中放置绝对定位的元素?

绝对定位元素的宽度

在元素内居中放置文本

相对定位元素内的绝对定位元素。如何获得宽度和高度?

绝对定位元素在其固定定位的父元素中被切断

相对定位元素内部的绝对定位元素被裁剪

绝对定位元素扩展父元素

当子元素的高度未知时,如何将绝对定位的元素居中于其父元素中

将锚文本放置在其绝对定位的伪元素上方

当使用jQuery为其父元素设置动画时,为什么绝对子元素定位元素会中断?

了解绝对定位元素的默认位置

溢出:绝对定位元素的隐藏

绝对定位元素的最大宽度

使绝对定位元素向左扩展

Bootstrap 4对绝对定位元素的响应

绝对定位元素上的 Mouseenter 事件

居中绝对定位伪元素

当绝对定位元素需要为窗口的 50% 时,如何使其居中对齐

如何在SVG g元素内居中放置文本?

如何在div元素内居中放置文本?

在网格元素内垂直居中放置文本

使用SASS定位元素内的元素

绝对定位元素不在Safari iOS中的其他绝对定位元素之上

纯 CSS:垂直和水平居中一个绝对定位元素,其宽度取决于子元素

为什么绝对定位元素显示在静态元素上?

宽度:绝对定位元素的100%大于父元素

在定位元素时使用边距还是绝对定位?