具有流体高度的表Rowspan的CSS等效

Gab*_*ner 13 css html-table css-tables

我正在尝试使用CSS完成以下操作:

<table border="1" width="300px">
<tr>
    <td rowspan="2">This row should equal the height (no fixed-height allowed) of the 2 rows sitting to the right.</td>
    <td>Here is some sample text.  And some additional sample text.</td>
</tr>
<tr>
    <td>Here is some sample text.  And some additional sample text.</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

替代文字

我见过的用于实现此目的的示例利用固定高度或允许内容环绕左列.有没有一种优雅的方法来使用CSS实现这一目标?

Pau*_*eze 5

首先,你在做什么对我来说就像一张桌子,所以你可能想要考虑一下.然而,用CSS做这件事有点棘手(除非你在CSS中使用表格样式).以下代码有效但不垂直居中于框中的文本:

<html><head><title>Test2</title></head><body>
<div style="width:300px; padding: 2px; border: 1px solid black;">
  <div style="float:right; width: 100px;">
    <div style="border: 1px solid black; margin-bottom: 2px;">
      Here is some sample text. And some additional sample text.
    </div>
    <div style="border: 1px solid black;">
      Here is some sample text. And some additional sample text.
    </div>
  </div>
  <div style="border: 1px solid black; margin-right: 102px;">
    <div>
      This column should equal the height (no fixed-height allowed) of the 2 rows sitting to the right.
    </div>
    <div style="clear: right; margin-bottom: -1px;"></div>
  </div>
</div></body></html>
Run Code Online (Sandbox Code Playgroud)

CSS中的表格单元格更容易:

<!DOCTYPE html>
<html><head><title>Test2</title></head><body>
<div style="display: table; width:300px; border: 1px solid black; border-spacing: 2px;">
  <div style="display: table-cell; border: 1px solid black; vertical-align: middle;">
    This column should equal the height (no fixed-height allowed) of the 2 rows sitting to the right.
  </div>
  <div style="display: table-cell; width: 100px;">
    <div style="border: 1px solid black; margin-bottom: 2px;">
      Here is some sample text. And some additional sample text.
    </div>
    <div style="border: 1px solid black;">
      Here is some sample text. And some additional sample text.
    </div>
  </div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)