【发布时间】:2020-03-17 23:40:13
【问题描述】:
我有一个包含以下内容的页面 2 列布局:
我需要将其变成移动设备上的 1 列布局:
顶部:黄色(侧边栏内容1)全宽
中间:绿色(内容在此处)全宽
底部:粉红色(侧边栏内容 2)全宽
.container {
border: 1px solid red;
display: flex;
}
.left-sidebar {
width: 200px;
background: yellow;
}
.left-sidebar #left-sidebar_top {
height: 500px;
}
.left-sidebar #left-sidebar_bottom {
height: 400px;
background: pink;
}
.right-content {
background: lightgreen;
flex: 1;
}
<div class="container">
<div class="left-sidebar">
<div id="left-sidebar_top">Sidebar Content1</div>
<div id="left-sidebar_bottom">Sidebar Content2</div>
</div>
<div class="right-content">
CONTENT GOES HERE
</div>
</div>
我怎样才能完全通过 CSS 中的媒体查询来实现这一点? (不改变html)
如果不可能,你会如何修改html结构和css?
编辑:澄清问题。
【问题讨论】:
-
是的,您可以在纯 CSS 中使用
@media查询来实现这一点 :) -
@NamKim:你的措辞“全宽”翻译为“100%”或“100vw”。使用提到的媒体查询,只需再次使用相同的 css 附加媒体查询,并使用您所说的修复这些新值:full with etc. 将容器显示值从 flex 设置为在 mediaquery 中显示完成大部分工作 - 创建一个jsfiddle 用你的例子让人们帮助你。不要指望别人为你写完整的代码。
标签: html css flexbox media-queries