我目前正在为一家公司开发移动登录页面。这是一个非常基本的布局,但在标题下方有一个始终为 100% 宽度的产品图像(设计显示它总是从边缘到边缘)。根据屏幕的宽度,图像的高度显然会相应地调整。我最初使用 img(CSS 宽度为 100%)进行此操作,效果很好,但我意识到我想使用媒体查询来提供基于不同分辨率的不同图像 - 比如说小型、中型和例如,同一图像的大版本。我知道您不能使用 CSS 更改 img src,所以我认为我应该为图像使用 CSS 背景,而不是 HTML 中的 img 标签。
我似乎无法正常工作,因为带有背景图像的 div 需要一个宽度和一个高度来显示背景。我显然可以使用 'width: 100%' 但我用什么来表示高度?我可以放置一个随机的固定高度,例如 150px,然后我可以看到图像的顶部 150px,但这不是解决方案,因为没有固定高度。我玩了一下,发现一旦有高度(用 150 像素测试),我可以使用“背景尺寸:100%”来正确地将图像放入 div 中。我可以在这个项目中使用更新的 CSS3,因为它只针对移动设备。
我在下面添加了一个粗略的示例。请原谅内联样式,但我想举一个基本的例子来尝试让我的问题更清楚一点。
<div id="image-container">
<div id="image" style="background: url(image.jpg) no-repeat; width: 100%; height: 150px; background-size: 100%;"></div>
</div>
我是否可能必须根据整个页面为容器 div 指定一个百分比高度,或者我是否完全看错了?
另外,你认为 CSS 背景是最好的方法吗?也许有一种技术可以根据设备/屏幕宽度提供不同的 img 标签。总体思路是,着陆页模板将多次用于不同的产品图片,因此我需要确保以最佳方式开发此模板。
抱歉,这有点啰嗦,但我从这个项目到下一个项目来来回回,所以我想完成这件小事。提前感谢您的宝贵时间,非常感谢。问候