没有"显示的CSS多行表:table-row"

时间:2018-03-24 09:17:24

标签: html css css-tables

我需要在不使用display: table-row的情况下创建多行表。

因为它是从模板格式化的,所以无法插入" row"代码介于"某些"项目。所有项目都是一样的。

我需要的是:3列3行,所有列的高度相同。

如果我删除float: left,则所有项目都会显示在一行中。有了它,它们都有不同的高度。

HTML

<ul>
  <li>
    <p>ddd<br>ddd</p>
  </li>
  <li>
    <p>ddd</p>
  </li>
  <li>
    <p>ddd<br>ddd<br>ddd</p>
  </li>
  <li>
    <p>ddd</p>
  </li>
  <li>
    <p>ddd<br>ddd</p>
  </li>
  <li>
    <p>ddd<br>ddd<br>ddd</p>
  </li>
  <li>
    <p>ddd<br>ddd<br>ddd</p>
  </li>
  <li>
    <p>ddd</p>
  </li>
  <li>
    <p>ddd<br>ddd</p>
  </li>
</ul>

CSS

ul {
  display: table;
  width: 100%;
  height: 100%;
}

li {
  display: table-cell;
  height: 100%;
  width: 33%;
  float: left;
}

p {
  background: #eeeeee;
  margin: 2px;
  height: 100%;
}

http://jsfiddle.net/7ca4deko/

1 个答案:

答案 0 :(得分:1)

尝试使用handlers

http://jsfiddle.net/dnomLjue/1/

display: flex
ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

li {
  width: 33%;
  list-style-type: none;
}

p {
  background: #eeeeee;
  margin: 2px;
  height: calc( 100% - 2px);
}