我目前正在为一家公司制作移动端着陆页。这是一个非常基本的布局,但在标题下方有一个产品图像,它将始终占据100%的宽度(设计显示它始终从边缘到边缘)。根据屏幕的宽度,图像的高度会相应地调整。最初我使用CSS宽度为100%的img(图片)完成了这个图像,效果很好,但我意识到我想使用媒体查询来提供不同分辨率的图片 - 假设是同一张图片的小,中和大版本。
我知道不能通过CSS更改img的src,因此我认为应该在HTML中使用CSS背景而不是img标记。但我无法正确设置具有背景图像的div的宽度和高度。我可以使用 'width:100%',但高度该怎么办?我可以放置一个随机固定高度,如150px,然后我可以看到图像的顶部150px,但这不是解决方案,因为高度并不是固定的。我试着玩了一下,发现一旦有了高度(用150px测试),我就可以使用“background-size: 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标签提供服务。总体思路是,落地页模板将被多次使用,具有不同的产品图片,因此我需要确保以最佳方式开发此功能。
如果我有些啰嗦,我很抱歉,因为我在这个项目和下一个项目之间反复跳转,所以我想完成这个小事情。