【发布时间】:2015-09-24 14:02:11
【问题描述】:
我对 CSS3 还是很陌生。我已经阅读了其他问题,但我不确定它们是否涵盖了我的情况,所以请耐心等待:)
我有这个示例页面:
<html>
<head>
<style type="text/css">
body { background-color: black; margin: 0; }
#main { background-color: red; width: 60%; height: 100vh; margin: auto; }
#header { background-color: white; width: 100%; height: 25%; max-height: 100px; }
#article { background-color: orange; width: 100%; height: 55%; }
#footer { background-color: blue; width: 100%; height: 20%; max-height: 80px; }
</style>
</head>
<body>
<div id="main">
<div id="header"></div>
<div id="article"></div>
<div id="footer"></div>
</div>
</body>
</html>
我必须实施一项额外的强制性行为,外加一项可选行为。
强制性
如您所见,一旦浏览器窗口变得相当高,#header 和#footer 就会正确停止增长,将它们的高度留给背景红色#main div。我需要的是#article 获得这个空间,因此总是将#footer“推”到浏览器屏幕的下边框。
可选的
布局本身水平调整大小,没有任何限制,但#article div 设置了一个背景图像,该图像在其左右两侧会淡化。更准确地说,它是一个 1000x1 的图像,从坐标 (1,1) 淡入到 (100,1) 并从 (901,1) 淡出到 (1000,1),垂直重复以覆盖 #article 的高度。 如何获得此图像仅在其非褪色区域拉伸的效果(以便褪色边框不会被拉伸)? 我可以在没有任何额外 div 的情况下获得它吗(在这种情况下,强制行为会在水平方向上自我重复)?
非常感谢:)
【问题讨论】:
标签: html css height fixed stretching