在语义可堆叠网格中重新排序列

时间:2015-04-12 00:09:36

标签: html css layout responsive-design semantic-ui

我目前正在使用Sementic-UI框架响应功能,在使用可堆叠网格时我遇到了障碍。具体来说,我试图复制一个经典的首页布局,其中大段落和图片布局在三分之一和三分之二列中,左右交替。

<div class="ui stackable grid">
    <div class="sixteen wide column">
        <h2>Full width header</h2>
    </div>
    <div class="six wide column">
        <img alt="Left image" />
    </div>
    <div class="ten wide column">
        <p>Right content</p>
    </div>
</div>

<div class="ui stackable grid">
    <div class="sixteen wide column">
        <h2>Full width header</h2>
    </div>
    <div class="ten wide column">
        <p>Left content</p>
    </div>
    <div class="six wide column">
        <img alt="Right image" />
    </div>
</div>

我为所有部分重复此模式,并每次交换两个并排列。问题是,当网格堆叠时,我想将图像保留在内容之上。它适用于第一种情况,因为列已经是正确的顺序,但显然第二个块失败,因为图像放在内容之后。

我想知道是否有一种简单的方法可以实现这一点,还是只能使用javascript完成?我应该继续使用网格还是应该使用其他东西?如果我需要使用javascript,那么检测网格布局变化的最佳方法是什么?

这是我第一次做响应式设计,所以欢迎参考这个主题。

1 个答案:

答案 0 :(得分:1)

使用网格元素的reversed变体可以实现这一点。我建议第二个网格如下:

<div class="ui stackable grid">
    <div class="row">
        <div class="sixteen wide column">
            <h2>Full width header</h2>
        </div>
    </div>
    <div class="computer reversed row">
        <div class="six wide column">
            <img alt="Right image" />
        </div>
        <div class="ten wide column">
            <p>Left content</p>
        </div>
    </div>
</div>

默认情况下将图像放在第一位,仅反转计算机屏幕尺寸可以最大限度地降低图像堆叠时最终的风险。它留下了屏幕尺寸的可能性,在列堆叠之前图像显示在左侧,但这应该不那么严重了。