【发布时间】:2012-07-08 04:11:57
【问题描述】:
我正在使用 Twitter Bootstrap 的 responsive grid,我想在我的页面中包含一些图片,如下所示:
<div class="row">
<div class="span3"><img src="img1.png" /></div>
<div class="span3"><img src="img2.png" /></div>
<div class="span3"><img src="img3.png" /></div>
<div class="span3"><img src="img4.png" /></div>
</div>
但是,很难使图像具有响应性,因为使用 Bootstrap 图像宽度与视口宽度没有直接关系,这排除了例如Filament 方法。
在上面的示例中,在 1080 像素宽的屏幕上,图像堆叠在一起,因此每个 div 占用的视口宽度不到 25%,并且每个图像只需要大约 250 像素宽。但是,在 750 像素宽的屏幕上,div 垂直堆叠以占据 100% 的视口宽度,因此每个图像需要大约 750 像素宽。
我在想我可以这样做:
- 默认情况下,加载一个 spacer.gif:
<img src="spacer.gif" /> - 在页面加载时,检查图片的宽度,并加载合适的尺寸
但后来我意识到这不适用于非 JavaScript 用户。我可以默认加载小图像,但非 JS 用户在大屏幕上的体验很差,一些用户还必须同时加载小图像和大图像。
有什么建议吗?
【问题讨论】:
-
尝试改用
row-fluid。
标签: javascript css image twitter-bootstrap responsive-design