我将不得不为此使用CSS flexbox,然后使用像Flexibility这样的polyfill来获得较早的IE支持。
以下是使用Flexbox的Codepen。
html, body {
\t margin:0;
\t padding:0
}
.wrap {
\t display: flex;
\t min-height: 100vh;
\t flex-direction: column;
\t max-width:1200px;
margin:auto;
}
.main {
\t flex: 1;
\t display:flex;
}
footer, header {
\t background:green;
\t padding:10px;
}
.sidebar {
\t background:blue;
\t flex:0 0 300px;
\t padding:10px;
}
.content{
\t background:yellow;
\t padding:10px;
\t flex:1; \t
}
@media screen and (max-width:680px){
\t .sidebar{flex: 0;order:0}
\t .main {flex-direction:column;} \t
}
<!-- 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>
这将是很好找纯CSS的解决方案,可以通过旧的IE浏览器的支持,但我认为这是不值得额外的代码膨胀到那里,尤其是对于较小比例的用户。
为什么不看这bootstrap?这就是它的原因。 :) –
你使用的是什么版本的grails? – elixir
Elixir,我没有使用Grails。这是在一个Java/Angular2应用程序。我指的是这份A List Apart文章中提到的圣杯布局: https://alistapart.com/article/holygrail –