【问题标题】:Special css layout without using a table不使用表格的特殊 css 布局
【发布时间】:2013-06-25 07:24:05
【问题描述】:

我正在尝试构建这个 css 模板:

这里是每个块的描述和高度:

第 1 块

  • width:页面宽度
  • 高度:100px

第 2 块

  • 最小宽度:300px;
  • 宽度随内容增长;
  • height:block 1 剩下的所有高度

第 3 块

  • width:块2剩下的所有宽度
  • height:block 1 和 4 剩下的所有高度

第 4 块

  • width:块2剩下的所有宽度
  • 高度:150px

每个块之间的边距为 20px。 最终布局的宽度和高度需要填满页面的整个空间,但不能超过(没有滚动条)。

我设法使用表格来做到这一点,但我宁愿拥有一个基于 div 的 css。关于如何做到这一点的任何想法。

PS:我用的是指南针

编辑: 这是我正在尝试做的演示:

http://jsfiddle.net/jcEwJ/1/

但我使用的html是:

<table>
    <tr>
        <td colspan="2" class="block1">
            <div class="block">
                Block 1
            </div>
        </td>
    </tr>
    <tr>
        <td rowspan="2" class="block2">
            <div class="block">
                Block 2
            </div>
        </td>
        <td class="block3">
            <div class="block">
                Block 3
            </div>
        </td>
    </tr>
    <tr>
        <td class="block4">
            <div class="block">
                Block 4
            </div>
        </td>
    </tr>

</table>

【问题讨论】:

  • 这不是一个适合stackoverflow的问题。
  • 提示:阅读浮点数。
  • 我们不是来为您编写代码的。我们将帮助修复现有代码,但现在您只是想让我们为您完成工作。
  • 我虽然你可能会觉得挑战很有趣。我对 css 非常熟悉,这是一个复杂的问题。棘手的部分是第 4 块不在第 2 块下面,而是在它旁边。因此很难使用浮动,因为您无法设置块 3 的高度(需要填充空间)。
  • 选项:1) HTML 表格 2) CSS tables 3) jQuery 4) 试验 CSS3 flexboxgrids 看看有什么可能(取决于所需的浏览器支持)。一般来说,当有其他难以创建的东西时,不要反对使用表格。

标签: css layout grid html


【解决方案1】:

给你...它粗糙而快速,它有很多问题......它可能需要调整,但它是一个开始......

DEMO

#block1 {
width:100%;
height:100px;
background:black;
margin-bottom:20px;
}

#block2 {
float:left;
min-width:300px;
width:20%;
height:100%;
margin-right:20px;
     }

#block3 {
width:70%;
float:left;
background:red;
min-height:400px;
margin-bottom:20px;
    }

#block4 {
width:70%;
float:left;
height:150px;
     }

【讨论】:

  • 这看起来很不错!但我不确定是否使用浮动。由于块 3 需要填充所有可用空间(其中不一定包含内容)。并且块 2 和 3 的宽度也不应该是百分比。块 2 需要随着内容的增长而增长,块 3 会适应它的大小。看起来这是一个相当困难的问题......
  • 为什么不把 2 和 3 放在一个容器里,把 4 个放在容器外面,作为一个stickyfooter.....cssstickyfooter.com
  • 块4不会填满页面的整个宽度吗?
  • 是的...也许您可以在某处在线找到 CSS:The Missing Manual 的 pdf/ebook 副本.....因为他们在那本书中有这个确切的布局,以及它是如何实现的,如果我没记错的话。 shop.oreilly.com/product/9780596802455.do
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-12
  • 2016-02-26
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
相关资源
最近更新 更多