垂直对齐内容

时间:2016-06-18 00:32:32

标签: html css css3 sass flexbox

希望这不是一个未解决的任务,但我正试图在容器内垂直证明一个未知(ish)数量的div。

每个div应该彼此相等,并且距离边缘的距离相同。 (假设最后一部分可以使用之前和之后的鬼元素完成)

div将分别填充容器的宽度,容器是设定的高度,但容器内的元素数量是未知的。

我认为可以在某种程度上使用Flexbox完成,但到目前为止我的尝试都没有成功。

3 个答案:

答案 0 :(得分:7)

是的,flexbox是最简单的方法。

在容器元素上:

.container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

关于子元素:

.container div {
  flex: 1;
  width: 100%
}

对于元素之间的间距,只需在容器中添加填充,向子项添加底边距。

样式如下:

.container {
  /* Same as above, and */
  padding: 20px;
}

.container div {
  /* Same as above, and */
  margin-bottom: 20px;
}

.container div:last-of-type{
  margin-bottom: 0;
  /* So that spacing is even at bottom and top of container */
}

(我在你发布你的答案时输入了这个,所以无论如何我把它放了)

Fiddle

答案 1 :(得分:0)

我使用 justify-content:space-evenly

HTML:

div.container {
  display: flex;
}

div.one_item_container {

  display: flex;
  flex-direction: column;            
  justify-content: space-evenly;
  
}
<div class="container">
  <div class="one_item_container">
    <img height="30" src="hello.jpeg" style="background-color:lightblue;" />
  </div>
  <div class="one_item_container">
    <img height="50" src="hello2.jpeg" style="background-color:lightblue;" />
  </div>
  <div class="one_item_container">
    <img height="40" src="hello2.jpeg" style="background-color:lightblue;" />
  </div>
</div>

答案 2 :(得分:-1)

像往常一样,无论我搜索多久,我都会在提出问题后立即找到答案。 :d

对于那些好奇的人,或者为了我自己将来的参考:Flexbox证明DOES有效,你只需要更多选择:

HTML:

<div id="outer-container">
  <div class="inner-element"></div>
  <div class="inner-element"></div>
  <div class="inner-element"></div>
  <div class="inner-element"></div>
  <div class="inner-element"></div>
  <div class="inner-element"></div>
  <div class="inner-element"></div>
</div>

CSS:

#outer-container {
  height: 250px;
  width: 200px;
  background: red;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
}

.inner-element {
  width: 200px;
  height: 10px;
  background: blue;
}

https://css-tricks.com/almanac/properties/j/justify-content/

https://jsfiddle.net/WW3bh/