CSS - rowspan之类的效果

dev*_*per 14 css

我只是想实现左列有两个合并行而右边一个没有的效果.我怎样才能实现这种布局?

html表看起来像 -

<table border="1" >
  <tr>
    <td rowspan="2">Div 1</td>
    <td> Div 2 </td>
  </tr>
  <tr>
    <td>Div3</td>
  </tr>
</table>??????
Run Code Online (Sandbox Code Playgroud)

编辑:我想用Div来实现这一点.我将把User控件放在每个div元素中.重要的是Div3从div2开始但不低于Div1.

[对不起,这是第一篇帖子所以无法添加图片]

谢谢.

har*_*077 8

CSS

    body {
      margin: 0;
      padding: 50px;
      background-color: #FFFFFF;
      color: #000000;
      font-family: Arial, Helvetica, sans-serif;
    }
    .tablewrapper {
      position: relative;
    }
    .table {
      display: table;
    }
    .row {
      display: table-row;
    }
    .cell {
      display: table-cell;
      border: 1px solid red;
      padding: 1em;
    }
    .cell.empty
    {
      border: none;
      width: 100px;
    }
    .cell.rowspanned {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100px;
    }

<div class="tablewrapper">
      <div class="table">
        <div class="row">
          <div class="cell">
            Top left
          </div>
          <div class="rowspanned cell">
            Center
          </div>
          <div class="cell">
            Top right
          </div>
        </div>
        <div class="row">
          <div class="cell">
            Bottom left
          </div>
          <div class="empty cell"></div>
          <div class="cell">
            Bottom right
          </div>
        </div>
      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

演示:http://www.sitepoint.com/rowspans-colspans-in-css-tables/

  • 当然有效,但这是使用"纯css"的最大缺点之一.我必须编写大量代码来替换一个单词:'rowspan ="2"' - 这是纯粹的疯狂; / (21认同)