【发布时间】:2016-06-20 16:18:54
【问题描述】:
我的大多数页面在菜单下方的顶部都有一个全宽横幅。它们被创建为带有来自图像精灵文件的背景图像的 div,以减少页面加载时间。 我的问题是当屏幕变小时 div 不会调整大小,它只是削减了 div 的大小。我想要的是 div 始终为 100% 宽,并且它的高度缩放以保持背景图像的比例(1300px × 300px)。
这里是代码和一个 jsfiddle:
<div class="entry-content">
<div class="banner"></div>
</div>
.entry-content {
max-width: 1300px;
width: 100%;
padding: 0 20px 0 20px;
}
.banner {
margin: 0 -20px 0 -20px;
max-width: 1300px;
height: 300px;
background: url("http://renservice.dk/wp-content/uploads/2016/02/banner-sprites.jpg");
background-position: 0 -900px;
}
【问题讨论】:
-
您希望图像在调整大小时与横幅 div 的宽度一起调整大小吗?
-
是的。图像应始终具有相同的比例并且为 100% 宽。
-
那么,您可以使用 min-width 而不是 max-width。使图像始终保持比例并保持 100% 宽。
-
好的,但这并不能真正解决我的问题。请注意,div 的高度设置为 300px,但我需要它根据屏幕大小动态缩放,所以我需要删除
height: 300px,但是当我这样做时,div 会塌陷。 -
@JeppeBech 最好的方法是不要为您的横幅使用精灵。请改用单个图像。并使用
background-size:cover属性。要按比例调整 div 高度,您可以使用我的答案中编写的代码。
标签: html css responsive-design background-image scale