html - 如何像 Pinterest 中那样垂直对齐内联 block ?

标签 html css

默认情况下,内联 block 的vertical-align等于baseline。来自 this question我明白什么是底线。

但我不明白怎么办 here从这里question , inline-blocks 是否像 Pinterest 画廊中那样对齐?

看来column-gapcolumn-width 达成了协议(protocol)。但如何呢?我们没有改变内联 block 的默认垂直对齐吗?

最佳答案

在示例中,他们使用column-width来指定创建的列的宽度,然后由浏览器决定将创建多少列。然后,它拆分这些列中的元素,并从第一列开始向下排序,然后从上到下到下一列,依此类推。列间隙仅用于在创建的列之间添加空间。

是的,.items 是内联 block 元素,但它们只是堆叠在彼此之上。它们的对齐方式与垂直对齐无关。

您还可以使用 column-count 指定希望内容分布的列数。

我在 div 中使用数字制作了一个示例,以便您了解排序如何与列宽配合使用:)

*,
*:before,
*:after {
  box-sizing: border-box !important;
}
.row {
  -moz-column-width: 18em;
  -webkit-column-width: 18em;
  -moz-column-gap: 1em;
  -webkit-column-gap: 1em;
}
.item {
  display: inline-block;
  padding: .25rem;
  width: 100%;
}
.well {
  position: relative;
  display: block;
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />



<div class="container">
  <div class="row">
    <div class="item">
      <div class="well">1</div>
    </div>
    <div class="item">
      <div class="well">2</div>
    </div>
    <div class="item">
      <div class="well">3</div>
    </div>
    <div class="item">
      <div class="well">4</div>
    </div>
    <div class="item">
      <div class="well">5</div>
    </div>
    <div class="item">
      <div class="well">6</div>
    </div>
    <div class="item">
      <div class="well">7</div>
    </div>
    <div class="item">
      <div class="well">8</div>
    </div>
    <div class="item">
      <div class="well">9</div>
    </div>
    <div class="item">
      <div class="well">10</div>
    </div>
  </div>
</div>

关于html - 如何像 Pinterest 中那样垂直对齐内联 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26508047/

相关文章:

html - Internet Explorer 中带阴影的 SVG 文本

html - 修复了带偏移的 div,无法滚动到底部

html - 如何防止在此jsfiddle中向右滚动

html - 如何在 Bootstrap 中创建重叠的 div

html - 并排两个表格,填充剩余宽度

php - PHP 生成表上的 jQuery 表搜索过滤器

html - HTML DIV 的完整背景

html - 动态设置具有动态高度的绝对 DIV?

html - 如何使用填充垂直/水平居中 CSS 背景图像

html - 当图像宽度远小于其高度时背景覆盖网页