我有一些非常基本的HTML& CSS,我想要有“粘性页脚”效果。这是我公司内部的应用程序,因此我们只能执行最新的浏览器(IE11 +)。我看到了IE9+ supports the CSS calc()
dynamic property,所以我就把它用了。
<div id="wrap">
<h1 id="title">The Title</h1>
<div id="content">
<p>Stuff....</p>
</div>
</div>
html,
body,
#wrap{
height: 100%;
}
#title{
height: 60px;
}
#content{
min-height: 100%; /*fallback*/
min-height: calc(100% - 60px); /*the title is 60px tall*/
}
这在Chrome和Firefox中效果很好,但IE11(我唯一关心的版本)在调整窗口大小时不会重新计算此值。有时它似乎也不必要地延伸到页面的末尾,因此在不需要时会导致滚动。
我在这里做错了,或者这是一个IE错误?
答案 0 :(得分:2)
这似乎是一个错误,但是如果你也不害怕jquery你可以用它修复bug
$(window).resize(function() {
/* The jquery calc code */
$('#content').css('width', '100%').css('width', '-=100px');
});
答案 1 :(得分:1)
我的建议是使用盒子大小。更改以下代码应该排序您的问题。这应该容纳91%的用户,包括大多数IE11,IE10,IE9,IE8和IE7(如果需要)用户 - http://caniuse.com/#search=box-sizing。
我还建议使用类,因为ID应该对每个元素都是唯一的。
<强> CSS 强>
*,
*:after,
*:before {
box-sizing:border-box;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
}
html,
body,
.wrap{
height: 100%;
}
.title{
height: 60px;
}
.content{
min-height: 100%; /*fallback*/
padding-top:60px;
}