html - 相对于其垂直中心定位 div

标签 html css vertical-alignment positioning

我有一条欢迎消息,需要将其中心定位在距窗口顶部 25% 的位置。因为它可以是任意多条线,所以需要使用其垂直中心来定位。这是我目前拥有的。

.welcomeMessage {
  position: absolute;
  text-align: center;
  vertical-align: middle;
  display: inline-block;
  margin: auto;
  width: 60%;
  top: 25%;
}

我尝试过使用display: inline-block 和display: flex 与vertical-align: middle 但都没有将div 相对于其垂直中心定位。任何帮助将不胜感激!

期望的定位: Desired positioning 目前定位: enter image description here

最佳答案

在下面的代码片段中,我有两个元素,都设置为 position:absolute ,其中 top: 25%left: 50%

  • .elementtransform: translate(-50%, -50%);这使得他能够“精确地”在页面尺寸(高度、宽度)的 25% 处垂直和水平居中。因为不像toplefttransform属性基于目标元素的大小。所以你设置的百分比是指目标边界框的大小。
  • 另一方面,
  • .other 没有 transform 规则,因此它的位置不像您想要的那样,它的顶部边框位于 25%<

.element,
.other {
  position: absolute;
  text-align: center;
  top: 25%;
  left: 50%;
}

.element {
  transform: translate(-50%, -50%);
  color: green;
}

.other {
  color: red;
}
html,body{
  height:100%;
  margin:0;
  padding:0;
}
<div class="element">I'm at 25% middle</div>
<div class="other">I'm not at 25% middle</div>

关于html - 相对于其垂直中心定位 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45565387/

相关文章:

javascript - 只设置一个md-tab的高度

css - 在不更改 HTML 的情况下将当前 float 的 div 对齐到底部

css - 可拉伸(stretch)/可扩展的垂直对齐文本(相对于图像)

twitter-bootstrap - Bootstrap 3.0.0 导航垂直折叠响应

html - 为什么 div 标签中的 padding-bottom 不起作用?

jquery - 如何让我的按钮出现在表单输入框中

html - 尝试将固定宽度的容器放入全宽 (100%) 父容器中?

javascript - Jquery 循环遍历具有多个类的表

html - 想让p保持在同一个位置

html - 如何在两个接缝之间动态放置 "floating action button"?