CSS等高柱

use*_*062 5 html css css3 css-tables flexbox

我想在我的css表中使用百分比.不幸的是,它对我不起作用.

这段代码出了什么问题?我应该使用flexbox而不是table吗?

我想用表,因为我想要相同的高度列.

ul {
  list-style: none;
  margin: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
}

li {
  width: 50%;
  display: table-cell;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Mic*_*l_B 8

使用Flexbox的相等高度列

HTML

<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS

ul { display: flex; }
Run Code Online (Sandbox Code Playgroud)

使用上面的简单代码,您可以将任意数量的内容放入列表项中,并且所有列表项都具有相同的高度.

DEMO


笔记:


浏览器支持: 所有主流浏览器都支持 Flexbox,IE <10除外.最近的一些浏览器版本,例如Safari 8和IE10,需要供应商前缀.要快速添加前缀,请使用Autoprefixer.这个答案的更多细节.


LGS*_*Son 2

ul这是使用/元素的示例li,2 列使用百分比且高度相等。

由于表格更喜欢表格/行/单元格布局,因此我对您的 html 进行了一些重组。

* {
    margin: 0;
}
html, body {
    height: 100%;
}
.table {
  display: table;
  width: 90%;
  height: 60%;
  padding-top: 5%;
  margin: 0 auto;
}
ul {
  display: table-row;
  list-style: none;
  margin: 0;
}

li {
  display: table-cell;
  width: 50%;
  border: 1px solid #999;
}
Run Code Online (Sandbox Code Playgroud)
<div class="table">
  <ul>
    <li>1</li>
    <li>2</li>
  </ul>
  <ul>
    <li>3</li>
    <li>4</li>
  </ul>
  <ul>
    <li>5</li>
    <li>6</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)