首页  >  文章  >  web前端  >  如何在不修改其固有尺寸的情况下垂直对齐可变高度的浮动元素?

如何在不修改其固有尺寸的情况下垂直对齐可变高度的浮动元素?

Susan Sarandon
Susan Sarandon原创
2024-11-01 07:25:30235浏览

How to Vertically Align Floating Elements of Variable Heights Without Modifying Their Intrinsic Sizing?

如何垂直对齐可变高度的浮动元素

在水平对齐的容器中,浮动默认情况下倾向于与顶部对齐。当处理未知和不同高度的元素时,这种对齐可能会导致不一致和不良的结果。我们的目标是找到一种在不修改其固有大小的情况下垂直居中这些浮动元素的方法。

浮动元素的限制

由于浏览器的原因,浮动元素的垂直对齐方式受到限制规格。 CSS 浮动行为规则 #8 规定浮动必须放置得尽可能高。这意味着无法实现浮动的直接垂直对齐。

使用内联块包装器

为了规避此限制,我们可以利用内联块元素来包装我们的浮动元素。内联块元素建立块格式化上下文(BFC),允许它们包含浮点数。通过赋予这些包装器垂直对齐属性,我们可以控制浮动元素的位置。

实现

  1. 将每个浮动元素封装在一个内联块中包装器。
  2. 将这些包装器的显示属性设置为内联块。
  3. 为包装器指定垂直对齐属性,以垂直对齐它们。
  4. 确保外部容器有足够的高度来容纳垂直对齐的浮动元素。

示例

<code class="css">.float-left {
  float: left;
}

.float-right {
  float: right;
}

#main {
  border: 1px solid blue;
  margin: 0 auto;
  width: 500px;
}

#main > div {
  display: inline-block;
  vertical-align: middle;
  width: 50%;
}</code>
<code class="html"><div id="main">
  <div>
    <div class="float-left">
      <p>AAA</p>
    </div>
  </div>
  <div>
    <div class="float-right">
      <p>BBB</p>
      <p>BBB</p>
    </div>
  </div>
</div></code>

这种方法有效地垂直居中不同的浮动元素高度而不依赖于外部 div 的显示属性。但是,请务必注意,内联块包装器之间可能会出现一些空间。

以上是如何在不修改其固有尺寸的情况下垂直对齐可变高度的浮动元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn