还可以用这个吗?我如何为旧版浏览器防弹?
height: -moz-calc(100% - 70px);
height: -webkit-calc(100% - 70px);
height: calc(100% - 70px);
这就是我想要完成的具体目标。
- 全宽/固定高度标题
- 拉伸全宽和全高的 Slider -减去页眉的高度。
- 在滑块中垂直和水平居中的标题块
- 一个 Controls 块,它始终距离滑块底部的固定高度
这是迄今为止我能够实现的目标的图像。除了上面粗体部分之外,它几乎是完美的。滑块(黑色区域)当前拉伸 100% 高度并流到标题后面,这不适用于图像。
如果我添加填充或边距,它会将滑块高度扩展到 100% 以上,并且我会得到一个滚动条。使用上面的高度计算似乎可以解决它,但据我了解,calc()
它与 IE 7、IE 8、iOS 5 或更低版本或 Android 不兼容。
这个问题有更好的解决方法吗?jQuery 没问题,但如果存在,我更喜欢 CSS 解决方案。
这是我的HTML:
<div class="header">
<h1>Header - Full Width + 70px Height</h1>
</div>
<div class="slider">
<div class="headline">
<div class="headline-container"><!-- for table-cell vertical centering -->
<h1>Headline Block</h1>
<p>Centered Horizontally & Vertically in the Slider Block</p>
</div>
</div>
<div class="controls">
<h2>Controls - Centered Horizontally & 40px from bottom of container</h2>
</div>
</div>
这是我的CSS:
html, body {
width: 100%;
height: 100%;
margin: 0; padding: 0;
}
h1, h2, p {
margin: 0;
padding: 0;
}
.header {
position: absolute;
width: 100%;
height: 70px;
background-color: #888;
z-index: 9999;
}
.header h1 {
color: #fff;
text-align: center;
}
.slider-desc {
color: #fff;
text-align: center;
margin: 15px 0 0;
}
.slider {
width: 100%;
height: 100%;
background-color: #000;
}
.headline {
display: table;
width: 100%;
height: 100%;
}
.headline-container {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.headline-container h1, .headline-container p {
background-color: #fff;
}
.controls {
position: absolute;
width: 100%;
bottom: 40px;
text-align: center;
background-color: yellow;
}
最后,我做了一个小提琴,以防你想玩弄它。谢谢您的帮助!