如何使元素按父级的高度在列中流动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使元素按父级的高度在列中流动相关的知识,希望对你有一定的参考价值。

问题:如何在列中布置项目,使其填满然后包裹。

实时代码:https://codepen.io/matthewharwood/pen/NWxqXVv

.column-wrapper 
  height: 250px;
  background: #000;
  color: #fff;
  display: flex;

.column-element 
  padding: 12px;

h1 
  font-family: sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #cacaca;
  opacity: .75;
  font-size: 12px;

p 
  font-family: sans-serif;
  font-size: 16px;
  margin: 4px 0;
<div class="column-wrapper">
  <div class="column-element">
    <h1>Collaborators</h1>
    <p>Joe</p>
    <p>Karen</p>
    <p>Randy</p>
  </div>
  <div class="column-element">
    <h1>Company</h1>
    <p>R/GA</p>
    <p>Uber</p>
  </div>
  <div class="column-element">
    <h1>Technology</h1>
    <p>React</p>
    <p>FusionJS</p>
    <p>Styletron</p>
    <p>Baseweb</p>
    <p>Webpack</p>
    <p>Cloudinary</p>
  </div>
  <div class="column-element">
    <h1>Profession</h1>
    <p>Software Engineer</p>
    <p>Designer</p>
    <p>HR</p>
    <p>CEO</p>
    <p>CTO</p>
  </div>
  <div class="column-element">
    <h1>Dates</h1>
    <p>June 3 2018 ~ Aug 28 2018</p>
  </div>
    <div class="column-element">
    <h1>My Role</h1>
    <p>Software Engineer</p>
  </div>
</div>

所需的布局:

enter image description here

注意:如果'.column-element'内部<p /><h1 />要转至下一栏,我希望他们转到下一栏。因此,无法使用column-countenter image description here

答案

CSS属性中进行以下更改:

.column-wrapper 
    height: 250px;
    background: #000;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

.column-wrapper 
  height: 250px;
  background: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;

.column-element 
  padding: 12px;

h1 
  font-family: sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #cacaca;
  opacity: .75;
  font-size: 12px;

p 
  font-family: sans-serif;
  font-size: 16px;
  margin: 4px 0;
<div class="column-wrapper">
  <div class="column-element">
    <h1>Collaborators</h1>
    <p>Joe</p>
    <p>Karen</p>
    <p>Randy</p>
  </div>
  <div class="column-element">
    <h1>Company</h1>
    <p>R/GA</p>
    <p>Uber</p>
  </div>
  <div class="column-element">
    <h1>Technology</h1>
    <p>React</p>
    <p>FusionJS</p>
    <p>Styletron</p>
    <p>Baseweb</p>
    <p>Webpack</p>
    <p>Cloudinary</p>
  </div>
  <div class="column-element">
    <h1>Profession</h1>
    <p>Software Engineer</p>
    <p>Designer</p>
    <p>HR</p>
    <p>CEO</p>
    <p>CTO</p>
  </div>
  <div class="column-element">
    <h1>Dates</h1>
    <p>June 3 2018 ~ Aug 28 2018</p>
  </div>
    <div class="column-element">
    <h1>My Role</h1>
    <p>Software Engineer</p>
  </div>
</div>

以上是关于如何使元素按父级的高度在列中流动的主要内容,如果未能解决你的问题,请参考以下文章

css 将元素展开到100%父级的高度

如何在没有固定高度的情况下使动态div溢出

RecyclerView 内容未使用片段父级的全宽

css父级没包住子级是怎么回事,我用firebug查看,确实在父级的div中,但是就是没有包括子级的内容

使背景颜色延伸到溢出区域

子元素设置margin-top影响到父级的原因及办法