下面我使用的是从12格960px系统中提取的内容。

<style>
body {
  background: gray;
}

#container_12 {
   width: 960px;
   margin-left: auto;
   margin-right: auto;
   background: white;
   overflow: hidden;
}

.column_1, .column_2, .column_3, .column_4, .column_5, .column_6, .column_7, .column_8, .column_9, .column_10, .column_11, .column_12 {
  float : left;
  margin-left : 10px;
  margin-right : 10px;
  margin-bottom: 10px;
}

.column_1 {
  width : 60px;
}

.column_2 {
  width : 140px;
}

.column_3 {
  width : 220px;
}

.column_4 {
  width : 300px;
}

.column_5 {
  width : 380px;
}

.column_6 {
  width : 460px;
}

.column_7 {
  width : 540px;
}

.column_8 {
  width : 620px;
}

.column_9 {
  width : 700px;
}

.column_10 {
  width : 780px;
}

.column_11 {
  width : 860px;
}

.column_12 {
  width : 940px;
}

</style>

<body>
  <div id="container_12">

    <!-- First row -->
      <div class="column_1" style="height: 400px; background: red;">
      </div>
      <div class="column_11" style="height: 200px; background: red;">
      </div>

    <!-- Second row -->
    <!--
    This column overlaps into second row
    <div class="column_1">
    </div>
     -->

      <div class="column_5" style="height: 200px; background: green;">
      </div>
      <div class="column_3" style="height: 200px; background: green;">
      </div>
      <div class="column_3" style="height: 200px; background: green;">
      </div>

  </div>
</body>


输出:

http://jsfiddle.net/hnDtY/


现在,如果我复制上面的两行,总共有4行。但是我想为前两行提供紫色背景,为后两行提供白色背景:

http://jsfiddle.net/QZuED/


我上面所做的问题是我必须创建一个名为“ row”的新div并将其包装在两列中。这使得它与布局的其余部分不一致,该布局没有div“行”包裹每一行。如果我在每行上添加一个div“行”并为其赋予一个overflow:hidden属性,那么将不可能有一个列跨越两行,因为它将把第二行中的项目向下推。那么网格系统如何处理这种情况?

最佳答案

实际上,将块嵌套在div内将迫使它们无法扩展到其余内容。我发现最常用的答案是重复背景图像。

body {
    background: gray url(web.png) repeat-x;
}


这也将允许您使用逐渐淡入背景其余部分的渐变。这是您的jsfiddle tweaked to reflect this

10-05 20:44
查看更多