html - 如何垂直居中具有较高兄弟元素的元素?

标签 html css vertical-alignment

<分区>

在本例中,我想将“3”在“list-li”元素中垂直居中,因为同级元素具有动态高度。我尝试使用:

position: relative;
top: 50%; 

..但它似乎不起作用。

HTML:

<ul class="list-1">
    <li>
        <div class="list-1-num">
            3    
        </div>
        <div class="list-1-content list-1-content-signup">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur venenatis, lectus cursus cursus elementum.
        </div>
    </li>
</ul>

CSS:

.list-1 {
    font-size: 20px;
    list-style: none;  
}

.list-1 li {
    margin-bottom: 70px;
    overflow: hidden;
    text-align: left;
    list-style: none;
}

.list-1-num {
    float: left;
    font-size: 25px;
    margin-right: 20px;
}

.list-1-content {
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: 45px 40px;
    float: left;
    width: 300px;
    line-height: 25px;
}

Codepen 演示:https://codepen.io/aguerrero/pen/OZevgJ

最佳答案

您可以使用 Flexbox 而不是 float 并在父级上设置 align-items: center

.list-1 {
  font-size: 20px;
  list-style: none;
}

.list-1 li {
  margin-bottom: 70px;
  overflow: hidden;
  text-align: left;
  list-style: none;
  display: flex;
  align-items: center;
}

.list-1-num {
  font-size: 25px;
  margin-right: 20px;
}

.list-1-content {
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: 45px 40px;
  width: 300px;
  line-height: 25px;
}
<ul class="list-1">
  <li>
    <div class="list-1-num">
      3
    </div>
    <div class="list-1-content list-1-content-signup">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur venenatis, lectus cursus cursus elementum.
    </div>
  </li>
</ul>

关于html - 如何垂直居中具有较高兄弟元素的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50526992/

上一篇:html - h1 和 p1 不会显示内联

下一篇:CSS:四个边上的框阴影具有模糊效果

相关文章:

底部垂直对齐的 HTML 表格和一个向右浮动的元素

javascript - HTML 多表单内外 DIV

HTML 样式边距禁用表单

html - :hover state element within css multi-column layout on Webkit

html - 如何将大字体文本居中并让小字体文本底部对齐

css - 是否可以在流体 div 中垂直对齐各种流体相对或静态定位的元素?

jquery - 如何停止我的 jquery 动画?

html - 调整移动屏幕的引导行

javascript - css 按钮悬停效果不起作用

css 定位 - 水平对齐