html - 垂直内容适合 div

标签 html css

我想知道自动让内容垂直适合容器的最佳方式(最好使用 CSS,但欢迎提出其他建议)。因此,例如,类似于在 div 内的元素(在我的例子中,<img> 后跟各种文本标签)之间具有相等的顶部/底部间距(填充/边距)。目标是内容优雅地拉伸(stretch)以适合容器。

我一直在四处寻找,但没有找到合适的解决方案,也没有找到任何最近关于此的问题(尽管我承认我本可以更仔细地寻找)。谢谢

根据 Louie Almeda 的建议,这里有一个例子:

最佳答案

我(和很多其他人)会提倡 flexbox。仔细阅读 here .

不幸的是,flexbox 目前没有办法均匀分布它的 child 。 space-between 尽可能将它们隔开,space-around 尽可能少地隔开它们。

同样有效的方法是给 child flex-grow: 1,同时让 child 成为 flexbox,然后将其中的内容居中对齐。

<div id="container">
  <div class="cell">
    <div class="stuff">
      <h3>asdf</h3>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
      </p>
    </div>
  </div>
  <div class="cell">
    <div class="stuff">
      <h3>asdf</h3>
    </div>
  </div>
  <div class="cell">
    <div class="stuff">
      <h3>asdf</h3>
    </div>
  </div>
</div>
#container {
  background: red;
  display: flex;
  flex-direction: column;
  height: 500px;
}

.cell {
  margin: 10px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stuff {
  background: green;
}

https://jsfiddle.net/w8s4zazk/

关于html - 垂直内容适合 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814636/

相关文章:

html - 是否可以使用填充 : 0 auto? 使元素居中

css - 使用水平形式对齐 Bootstrap 文本框

PHP 页面未使用可见性 :none or display:none 隐藏 DIV

css - Internet Explorer 中的表 colspan 相对宽度问题

css - 停止包装包含的 div?

javascript - 推特 Bootstrap 可折叠导航菜单

html - 为什么我的文字没有居中对齐?

javascript - 延迟跳转到新网页

html - Font Awesome 显示方形而不是图标

css - 显示 :table-cell moves content in other cell 的 div 中元素的边距