CSS:强制列始终具有全高[重复]

Posted

技术标签:

【中文标题】CSS:强制列始终具有全高[重复]【英文标题】:CSS: Force a column to always have full height [duplicate] 【发布时间】:2016-10-30 17:22:32 【问题描述】:

我有以下 html

<div style="height: 80px">
   ...
</div>
<div class="container-fluid">
  <div class="row">
    <div class="col-xs-2 col1">...</div>
    <div class="col-xs-10 col2">...</div>
  </div>
</div>

我的 col1 和我的col2 目前都有height: auto; 但是,我的col2 总是比我的col1 大。 我不希望我的col2 有特定的高度。但是,我希望我的 col1 始终保持全高,以便匹配 col2 的任何高度。

如何在 css/sass 中实现这一点?

【问题讨论】:

可以设置 column1 & column2 的固定高度 【参考方案1】:

是的,您可以使用 flexboxtable 来做到这一点:

.row.equal 
  display: table;

.row.equal .column 
  display: table-cell;
  
  /* Just for demo purposes */
  max-width: 5em;
  border: 1px solid #FFF;
  background-color: red;


.row.equal.flex 
  display: flex;

.row.equal.flex .column 
  /* Just for demo purposes */
  max-width: 5em;
  border: 1px solid #FFF;
  background-color: red;
<div class="row equal">
  <div class="column">
    Equal height column using the table property
  </div>
  <div class="column">
    Equal height
  </div>
</div>

<div class="row equal flex">
  <div class="column">
    Equal height column using the flex property
  </div>
  <div class="column">
    Equal height
  </div>
</div>

不使用前缀应该很安全,但请务必查看caniuse。祝你好运

【讨论】:

【参考方案2】:

使用 display:table-cell 。这将使它们具有相同的高度。 也使用vertical-align:top,这样文本将始终位于列的顶部

看这里jsfiddle

css代码:

.row 
  display:table;

.col1,.col2  
  display: table-cell;
  width:300px;
  veritcal-align:top;

.col1  
  background:red

.col2  
  background:blue;
  height:200px;

【讨论】:

以上是关于CSS:强制列始终具有全高[重复]的主要内容,如果未能解决你的问题,请参考以下文章

全高左浮动子元素[重复]

如何使用 TailwindCSS 在 div 中创建全高元素 [重复]

强制浏览器获取某些源(CSS、JS 等)的最新版本 [重复]

始终强制将内存分配到相同的虚拟地址[重复]

菜单中的固定高度和重复列 - CSS

包装css网格并拉伸一个网格项以占用所有空列[重复]