我遇到了一个具有挑战性的布局问题。我需要创建以下布局:
桌面布局:
移动布局:
我已经研究了很多这方面的解决方案,所有这些解决方案实际上只能解决一些我的需求。尚未找到完整的解决方案。甚至不是圣杯,因为许多解决方案使用flexbox,css网格或css表,IE9不支持没有polyfill的那些(我可以做,但是布局?!)。 / p>
我确信有人已经弄明白了这一点!
答案 0 :(得分:0)
答案 1 :(得分:0)
我将不得不决定使用CSS flexbox,然后使用像Flexibility之类的polyfill来获得较旧的IE支持。
使用Flexbox,这是一个有效的Codepen。
html, body {
margin:0;
padding:0
}
.wrap {
display: flex;
min-height: 100vh;
flex-direction: column;
max-width:1200px;
margin:auto;
}
.main {
flex: 1;
display:flex;
}
footer, header {
background:green;
padding:10px;
}
.sidebar {
background:blue;
flex:0 0 300px;
padding:10px;
}
.content{
background:yellow;
padding:10px;
flex:1;
}
@media screen and (max-width:680px){
.sidebar{flex: 0;order:0}
.main {flex-direction:column;}
}

<!-- could use body element instead of wrap if wanted -->
<div class="wrap">
<header>Header</header>
<main class="main">
<div class="sidebar">Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar Sidebar </div>
<div class="content">Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content Main content </div>
</main>
<footer>footer - <a target="blank" href="http://codepen.io/paulobrien/full/FKAxH/">See display table version of sticky footer</a></footer>
</div>
&#13;
很高兴找到一个纯CSS的解决方案可以得到老版IE的支持,但我认为它不值得额外的代码膨胀到那里,特别是对于较小的百分比用户。