带有 CSS 背景图像的纵横比 div [英] Aspect ratio divs with CSS background images
问题描述
我在 div 中有相同纵横比 (300px x 255px) 的图像,占宽度的 31%,在桌面/平板电脑上制作 3 列,然后在移动设备上制作全宽.图像在 div 内缩放到 100%,高度设置为自动.我需要将它们从 img 标签更改为背景图片
http://codepen.io/anon/pen/yYagJd
**HTML:**<div class="hotels"><img src="http://www.telodesign.com/test/cavallo-300.jpg" alt=""><br>这是一个标题
<div class="hotels"><img src="http://www.telodesign.com/test/cavallo-300.jpg" alt=""><br>这是一个标题
<div class="hotels"><img src="http://www.telodesign.com/test/cavallo-300.jpg" alt=""><br>这是一个标题
**CSS:**.hotels {显示:内联块;宽度:31.8%;垂直对齐:顶部;底边距:22px;}*强调文字*.hotels img {宽度:100%;高度:自动;}
有没有办法让这些图像成为背景图像,并且仍然让纵横比决定 div 的高度——允许相同的响应缩放?如果可能的话,我希望有一种方法可以在不使用 .js 的情况下做到这一点.可以只用 CSS 来完成吗?谢谢!
您可以使用 % 设置一个 padding 取宽度以供参考以保持比例.例子 :http://codepen.io/anon/pen/vNXgJp 或 http://codepen.io/anon/pen/VvKPMM(下面的演示)
.hotels {显示:内联块;宽度:31.8%;垂直对齐:顶部;底边距:22px;背景:url(http://www.telodesign.com/test/cavallo-300.jpg) 不重复红色;背景尺寸:100% 自动;}.hotels:之前{内容: '';填充顶部:85%;向左飘浮;}
这是一个标题<div class="hotels">这是一个标题
<div class="hotels">这是一个标题