我正在尝试使用Zurb Foundation 4 Grid创建响应式布局,并且很难理解如何使用推拉式创建列布局,从而在移动设备和桌面设备中正确排序内容而无需求助到 javascript 或在“hide-for-small/hide-for-large”分类的 DIV 中复制数据。
遵循“移动优先”的理念,假设我有以下所需的活动站点布局:
移动的:
12 columns
========================
[Name / Date / Location]
[Photo ]
[Event details ]
[Attendees ]
[RSVP ]
[Edit link ]
桌面:
4 columns 8 columns
=============================================
[Photo ] | [Name / Date / Location ]
[RSVP ] | [Event details ]
[Edit Link ] | [Attendees ]
如何格式化 HTML 以便在两种情况下都能以正确的顺序显示?
现在,我正在为移动设备执行此操作:
<!-- note: there are many ways to create this layout -
it could be in sets of individual rows as well -->
<div class="row">
<div class="small-12 columns">
<div class="namedatelocation">(name/date/location html)</div>
</div>
<div class="small-12 columns">
<div class="photo">(photo html)</div>
</div>
<div class="small-12 columns">
<div class="details">(details html)</div>
</div>
<div class="small-12 columns">
<div class="attendees">(attendees html)</div>
</div>
<div class="small-12 columns">
<div class="rsvp">(rsvp html)</div>
</div>
<div class="small-12 columns">
<div class="edit">(edit html)</div>
</div>
</div>
我可以为桌面执行此操作:
<div class="row">
<div class="large-4 columns">
<div class="photo">(photo html)</div>
<div class="rsvp">(rsvp html)</div>
<div class="edit">(edit html)</div>
</div>
<div class="large-8 columns">
<div class="namedatelocation">(name/date/location html)</div>
<div class="details">(details html)</div>
<div class="attendees">(attendees html)</div>
</div>
</div>
如何以响应式方式创建此内容?到目前为止,我能够完成的最好的事情是将内容分成“对”并将每一对放入自己的行中,并使用推拉来更改行内 2 列的顺序。除了只能重新排序对的限制之外,这种方法的问题是每行的高度等于该行中两列中最高的列。这意味着桌面布局中有大量的死区。
关于如何完成我想做的事情的任何想法?或者在Foundation中是不可能的?如果不是,一般来说解决这个问题的正确方法是什么?