我正在拼命地尝试将div重新调整到网站的剩余空间。
我有像这样的HTML
<nav> nnn </nav>
<main> xxx </main>
<aside> aaa </aside>
在常规笔记本上,我将它们显示为三列:
nnn xxx aaa
xxx
但对于手机,我会以其他顺序显示它们, 更像是:
nnn xxx
aaa xxx
所以我在我的CSS中做的是
nav {
float: left
}
main {
float: right
}
只要我为两者提供固定宽度,每次都是50%,这是有效的。
但我希望nav
/ aside
部分为170像素,main
部分为剩余空间。
在研究期间,我发现其他答案说我应该删除浮动属性,但是我不能让旁边的部分显示在导航下方并且直到主要部分。
我尝试了一些不同的显示样式,例如display:table-cell(但是main
没有像rowspan那样)或者显示:inline-block但是我绝对无法使它工作。
希望有人知道如何在不触及html的情况下实现此布局。
答案 0 :(得分:0)
桌面的三列布局可以通过显示表/表格单元轻松实现。移动布局要求您以翻转的c形排列列,可以按如下方式实现:
nav {
background: #CCF;
}
main {
background: #CCC;
}
aside {
background: #CFC;
}
@media screen and (max-width: 963px) {
#wrapper {
margin-left: 170px;
}
#wrapper:after {
content: "";
display: block;
clear: both;
}
nav, aside {
float: left;
clear: left;
margin-left: -170px;
width: 170px;
}
main {
float: right;
width: 100%;
}
}
<div id="wrapper">
<nav>nnn</nav>
<main>xxx<br>xxx</main>
<aside>aaa</aside>
</div>