html - 响应式设计 - 使用 css 重新排列元素位置

标签 html css media-queries

如果可能,我想在没有 JavaScript 的情况下执行此操作:

我将在页面上有 2 个或更多元素,当页面达到特定大小时,我想更改它们的顺序。我正在使用媒体查询,并将根据屏幕大小提供不同的 CSS。 div "a"通常应该在顶部,但如果屏幕尺寸小于 480px,则 b 应该直接在 a 之上。

<div id="a" class="myDivs">Top when on desktop</div>
<div id="b" class="myDivs">Becomes top when under 480px wide screen</div>

我必须在我的 mobile.css 中保留的 CSS:

.myDivs {
  width: 100%;
}

所以没有指定高度;因此,我不能简单地定位 absolute 并设置 margin-top 或 top。

最佳答案

 <div class="parent">
    <div class="child-1">This is Child One</div>
    <div class="child-2">This is Child Two</div>
    <div class="child-3">This is Child Three</div>
 </div>

在 CSS 中使用表格布局来重新排列 div。

@media screen and (max-width: 768px) {
    .parent { 
      display: table;
    }
    .child-3 {
      display: table-header-group;
    }
    .child-1 {
      display: table-footer-group;
    }
}

元素将按以下顺序显示: child 3、 child 2、 child 1

Fiddle 位于此处:http://jsfiddle.net/lockedown/gyef3vj7/1/

关于html - 响应式设计 - 使用 css 重新排列元素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15161674/

相关文章:

html - Bootstrap - 我的内容有很大的空白

cross-browser - CSS min width div 不强制它的容器是预期的正确大小

javascript - 具有相同高度的动态 DIV

javascript - 检测父级为 contenteditable div 的 contenteditable child 的 keyup 事件

javascript - 为什么无法读取未定义的属性 'top'?

javascript - 从 HTML 调用函数的变量作用域

javascript - 如何在移动设备上关闭基于悬停的 CSS 下拉菜单

css - node-sass,媒体查询和级联

CSS 3 媒体查询 - 支持哪些分辨率

html - 元素在媒体查询 : 380px - but not when resized from bigger width and down to 380px 中的位置很好