【问题标题】:Can this responsive grid be formatted properly这个响应式网格可以正确格式化吗
【发布时间】:2017-11-23 00:28:58
【问题描述】:

我有一个图像网格,我想在此处的图像中显示它们:

不幸的是,最下面的一排被向下推而失去了对齐。

我正在改编 Graham Miller 的响应式网格系统,非常棒。这是我到目前为止的代码:

CSS:

/*  SECTIONS  */
    .section {
        clear: both;
        padding: 0px;
        margin: 0px;
    }

    /*  COLUMN SETUP  */
    .col {
        display: block;
        float:left;
        margin: 1% 0 1% 1.6%;
    }
    .col:first-child { margin-left: 0; }

    /*  GROUPING  */
    .group:before,
    .group:after { content:""; display:table; }
    .group:after { clear:both;}
    .group { zoom:1; /* For IE 6/7 */ }


    /*  GRID OF SIX  */
    .span_6_of_6 {
        width: 100%;
    }

    .span_5_of_6 {
        width: 83.06%;
    }

    .span_4_of_6 {
        width: 66.13%;
    }

    .span_3_of_6 {
        width: 49.2%;
    }

    .span_2_of_6 {
        width: 32.26%;
        height: 350px;
    }

    .span_1_of_6 {
        width: 15.33%;
    }

    img {
        width: 100%;
        height: auto;
    }
    /*  GO FULL WIDTH BELOW 480 PIXELS */
    @media only screen and (max-width: 480px) {
        .col {  margin: 1% 0 1% 0%; }
        .span_1_of_6, .span_2_of_6, .span_3_of_6, .span_4_of_6, .span_5_of_6, .span_6_of_6 { width: 100%; }
    }

HTML:

<div class="section group">
    <div class="col span_2_of_6"><img src="images/slices02.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices02.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices03.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices04.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices05.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices06.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices07.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices08.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices09.png" alt=""/></div>
</div>
<div class="section group">
    <div class="col span_1_of_6"><img src="images/slices04.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices05.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices06.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices07.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices08.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices09.png" alt=""/></div>
</div>
<div class="section group">
    <div class="col span_1_of_6"><img src="images/slices02.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices03.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices04.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices05.png" alt=""/></div>
    <div class="col span_2_of_6"><img src="images/slices02.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices06.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices07.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices08.png" alt=""/></div>
    <div class="col span_1_of_6"><img src="images/slices09.png" alt=""/></div>
</div>

我尝试了几件事,包括将五张图片的底行向左浮动、稍微调整图片大小以及其他绝望的措施,但都无济于事。

有人知道这个问题怎么解决吗?

【问题讨论】:

标签: html css grid-layout


【解决方案1】:

同时实现六列系统和四列系统,完成后,您可以执行以下操作:

<div class="section group"> <!-- First row -->
    <div class="col span_2_of_6"> <!-- left side of row -->
        <div class="col span_6_of_6"> <!-- this is for margin consistency -->
            <img src="" alt=""> 
        </div>
    </div>

    <div class="col span_4_of_6"> <!-- right side of row -->
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>

        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
    </div>
</div>

<div class="section group"> <!-- second row -->
    <div class="col span_6_of_6"> <!-- full row -->
        <div class="col span_1_of_6"><img src="" alt=""></div>
        <div class="col span_1_of_6"><img src="" alt=""></div>
        <div class="col span_1_of_6"><img src="" alt=""></div>
        <div class="col span_1_of_6"><img src="" alt=""></div>
        <div class="col span_1_of_6"><img src="" alt=""></div>
        <div class="col span_1_of_6"><img src="" alt=""></div>
    </div>
</div>

<div class="section group"> <!-- Third row -->
    <div class="col span_4_of_6"> <!-- left side of row -->
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>

        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
        <div class="col span_1_of_4"><img src="" alt=""></div>
    </div>

    <div class="col span_2_of_6"> <!-- right side of row -->
        <div class="col span_6_of_6"> <!-- this is for margin consistency -->
            <img src="" alt=""> 
        </div>
    </div>
</div>

您可能需要添加一些自定义类来更好地控制您的边距。

【讨论】:

  • 谢谢布赖恩。我可以看到你所建议的逻辑。我想我一定错过了一些东西,因为它根本没有按预期呈现。我已经在页面上根据我自己的建议实施了您的建议。您可以看到根本没有网格 - 只是一个垂直列表。
  • 糟糕,忘记了 col 类
  • 这更多的是票,但第 6 到 9 行和第 20 到 23 行被踢出线。知道是什么原因造成的吗?
猜你喜欢
  • 1970-01-01
  • 2021-07-23
  • 2016-09-03
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多