在响应式设计中移动最左侧的列

Posted

技术标签:

【中文标题】在响应式设计中移动最左侧的列【英文标题】:Move left-most column in a responsive design 【发布时间】:2012-02-09 07:11:05 【问题描述】:

我正在重新设计我的大学报纸的网站,并让该设计很好地适应 iPad。我现在正尝试将其切换为单列布局(适用于智能手机)。

问题在于,在单列布局中,右列必须高于左列。如果右列的代码写在左列之前,我会知道如何执行此操作,但不幸的是它不是。

如何将左列移到右列下方?是否需要使用 javascript 来切换 html 代码中的列顺序?谢谢!

编辑:我意识到当宽度 > someNumber 时我可以有一个不可见的 DIV。不过,我宁愿不必是多余的……

【问题讨论】:

【参考方案1】:

CSS 可以将元素从文档流中取出,并以您想要的任何方式将它们放在任何地方。但它不能创建一个新的文档流(即它不能重新排序元素)。您需要将一个元素相对于另一个元素定位或绝对定位它们。

如果您可以访问 Javascript 并且不关心优雅的降级,您也可以交换两个 div 的 .innerHTML。

【讨论】:

要做到这一点,您需要知道右列占用的垂直像素数吗? 是的,我不确定你是否让左边相对右边和右边绝对(这样就不需要知道右边的高度)【参考方案2】:

我能想到的最简单的方法是使用 jQuery(一个 javascript 库)将正确的列内容从一个 div 删除到 DOM 中的另一个。这允许您动态创建和删除 div,因此最终没有冗余。

如果这太模糊,请发表评论,我会添加一个示例。

【讨论】:

谢谢!我正在考虑这一点,但我宁愿不必依赖 Javascript。如果我无法弄清楚 Good Person 的解决方案,我可能会选择你的解决方案。谢谢!【参考方案3】:

唯一的 CSS 解决方案是从最小的屏幕开始作为默认设计,然后随着屏幕尺寸的增加使用媒体查询进行增强。从最小的屏幕开始,首先将您的标记按正确的顺序排列 - 对于横幅上方的图像,主要导航,主要内容(右侧列),旁边(左侧列)和(大概),页脚。当媒体查询应用额外的 CSS 时,您可以将 Main Content 向右和向左浮动 - 对于更小或更大的屏幕,元素的位置正确。

【讨论】:

非常聪明——我终于明白人们为什么要先为移动端编写代码了。

以上是关于在响应式设计中移动最左侧的列的主要内容,如果未能解决你的问题,请参考以下文章

利用axure进行响应式自适应网站的设计

基于最流行设备的响应式设计中的行业标准断点是啥? [复制]

响应式105-响应式网页设计中的 Break Point

在 DOM 中移动元素以实现响应式 Web 设计

响应式设计1---响应式布局介绍

响应式网页设计中的 Break Point