html - 如何使一个 div 位于另外两个 div 的中间以跨越多行,就像表中的 rowspan 一样

标签 html css html-table

我已经有一段时间试图避免使用表格来布局元素了,因为我意识到它们并不是为此而设计的,并且像 div、p 这样的普通容器元素以及 CSS 足以实现任何可以实现的布局需要。到目前为止,我已经取得了成功,但有一种情况我似乎无法独自克服。我基本上需要的是具有以下标记的表格可以执行的操作:

<table>
  <tr>
    <td>Michael</td>
    <td rowspan="4"><img src="Photo.png"/></td>
    <td>Svenson</td>
  </tr>
  <tr>
    <td>Steve</td>
    <td>Manson</td>
  </tr>
  <tr>
    <td>Bob</td>
    <td>Sandgal</td>
  </tr>
  <tr>
    <td>Mirko</td>
    <td>Lahovic</td>
  </tr>
</table>

但我不想使用表格。这张图片会让你更好地了解我需要什么: The layout

我尝试使用向左浮动,并为中间的 div 指定四个相邻 div 的总高度,但这次第二行 div 从中间 div 的底线开始。

最佳答案

为了演示更改,我在 div 上使用了边框颜色,代码非常简单明了。

在下面的示例中,高度已固定为 400px

<html>
     <head>
      <style type="text/css">
        *, *:before, *:after {
            box-sizing: border-box;
        }
        .row{
         width  : 100%;
         border : 1px solid #ff0000;
         padding: 5px;
         float:left;
        }
        .cont{
         height :400px;
         border : 1px solid #00ff00;
         width:33%;
         padding:10px;
         float:left;
        }
        .small-row{
          height:25%;
          border: 1px solid #0000ff;
          width:100%;
          padding:2px;
          float:left;
        }

      </style>
     </head>
     <body>
       <div class="row">
         <div class="cont">
            <div class="small-row"></div>
            <div class="small-row"></div>
            <div class="small-row"></div>
            <div class="small-row"></div>
         </div>

         <div class="cont">
            <div class="large-row"></div>
         </div>

         <div class="cont">
            <div class="small-row"></div>
            <div class="small-row"></div>
            <div class="small-row"></div>
            <div class="small-row"></div>
         </div>
       </div>
     </body>
    </html>

关于html - 如何使一个 div 位于另外两个 div 的中间以跨越多行,就像表中的 rowspan 一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053130/

相关文章:

jquery - 具有 jQuery 悬停淡入淡出效果的表格

c# - 使用 ASP.NET C# 的 HTML5 视频控件

html - 如何在 HTML BASE 标记后使用本地 URL

css - 如何在 GWT 的 UiBinder 中将样式名称 "Multiple css classes"添加到 1 个元素中?

css - 带有 Angular Material 的垂直标签

css - 使用 :before and :after tags with tables

php - 如何从数据库分配 HTML 属性值?

JavaScript 自动解码 PHP 通过 HTML <div> 数据属性发送的 JSON?

html - Visual Studio(2012 及更低版本)删除 CSS 属性

javascript - 如何用html表格制作游戏?