【问题标题】:css3 flex alignment when one of element is 2 times higher that other element [duplicate]当一个元素比另一个元素高2倍时,css3 flex对齐[重复]
【发布时间】:2017-02-04 21:18:29
【问题描述】:

我有以下代码: 我使用弹性盒子 我尝试做的是删除第三行和第二行之间不必要的空间(八元素是其他元素的 2 倍,八元素应该在顶部有第 4 个元素,在左边有第 7 个和第 11 个元素,在底部有 15 个元素)。

.flex-container {
  padding: 0;
  margin: 0;
  list-style: none;
  width:900px;
  
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  
  -webkit-flex-flow: row wrap;
  justify-content: space-around;
  flex-direction: row;
}

.flex-item {
  background: tomato;
  padding: 5px;
  width: 200px;
  height: 150px;
  margin-top: 10px;
  
  line-height: 150px;
  color: white;
  font-weight: bold;
  font-size: 3em;
  text-align: center;
}
.flex-item-double {
  height:400px;
 
}
<ul class="flex-container">
  <li class="flex-item">1</li>
  <li class="flex-item">2</li>
  <li class="flex-item">3</li>
  <li class="flex-item">4</li>
  <li class="flex-item">5</li>
  <li class="flex-item">6</li>
  <li class="flex-item">7</li>
  <li class="flex-item flex-item-double">8</li>
  <li class="flex-item">9</li>
  <li class="flex-item">10</li>
  <li class="flex-item">11</li>
   <li class="flex-item">12</li>
  <li class="flex-item">13</li>
  <li class="flex-item">14</li>
  <li class="flex-item">15</li>
</ul>

【问题讨论】:

  • flexbox 不能用作“网格系统”...我认为这就是您正在尝试的...
  • 我像 codepen.io/dodekx/pen/NRwAEy 一样过度劳累(添加 div 包装器)

标签: html css flexbox


【解决方案1】:

你应该把 height 改为 min-height

.flex-container {
  padding: 0;
  margin: 0;
  list-style: none;
  width:900px;
  
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  
  -webkit-flex-flow: row wrap;
  justify-content: space-around;
  flex-direction: row;
}

.flex-item {
  background: tomato;
  padding: 5px;
  width: 200px;
  min-height: 150px;
  margin-top: 10px;
  
  line-height: 150px;
  color: white;
  font-weight: bold;
  font-size: 3em;
  text-align: center;
}
.flex-item-double {
  min-height:400px;
 
}
<ul class="flex-container">
  <li class="flex-item">1</li>
  <li class="flex-item">2</li>
  <li class="flex-item">3</li>
  <li class="flex-item">4</li>
  <li class="flex-item">5</li>
  <li class="flex-item">6</li>
  <li class="flex-item">7</li>
  <li class="flex-item flex-item-double">8</li>
  <li class="flex-item">9</li>
  <li class="flex-item">10</li>
  <li class="flex-item">11</li>
   <li class="flex-item">12</li>
  <li class="flex-item">13</li>
  <li class="flex-item">14</li>
  <li class="flex-item">15</li>
</ul>

【讨论】:

  • 但在这种情况下,第 5、6、7 和 8 个元素具有相同的高度,但只有 8 个元素应该具有 2X 高度
猜你喜欢
  • 2017-09-15
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 2014-09-18
  • 2010-09-20
  • 2018-04-26
  • 2012-06-26
  • 2014-12-20
相关资源
最近更新 更多