css - 3 列响应式布局,中间列顶部

标签 css media-queries responsive

我有一个旧的 3 栏网站,中间的第 2 栏包含重要内容(大小不一)。

是否可以单独使用 CSS(即模板未受影响),使其具有响应性,以便在窄屏幕上,顺序(从上到下)变为 Col-2,然后是 Col-1,然后是 Col-3?即。

模板:

<div class="col-1">Left Sidebar</div>
<div class="col-2">Main content</div>
<div class="col-3">Right sidebar</div>

我希望在较小屏幕宽度上的媒体查询显示为:

Main content

Left Sidebar

Right sidebar

最佳答案

您可以使用 flexbox 实现:在媒体查询中,您将 display: flexflex-direction: column 分配给容器(如果没有容器/父元素,即 body 标签),并根据您想要的顺序将 order 设置(数字)分配给单个元素,如下所示:

body { 
  display: flex;
  flex-direction: column;
}
.col-1 {
  order: 2;
  }
.col-2 {
  order: 1;
  }
.col-3 {
  order: 3;
  }
<div class="col-1">Left Sidebar</div>
<div class="col-2">Main content</div>
<div class="col-3">Right sidebar</div>

关于css - 3 列响应式布局,中间列顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236759/

相关文章:

javascript - 检测大屏幕和低分辨率 (TV) 屏幕

html - 带有文本的响应式标题 Logo

javascript - 按下 'enter' 键时删除输入框中的文本

Javascript 检查是否填写了所需数据

css - @media 在课前或课后查询?

css - 我网站上的媒体查询问题

flutter - MediaQuery在不同手机上不一致

jquery - 是什么让我的菜单水平?

css - 内联CSS问题

javascript - 为什么在媒体查询更新后修改 CSS 规则失败