我正在使用 Wordpress 和用户上传的图片。我正在尝试使用 Bootstrap 构建响应式图片库,但遇到了一些麻烦:
Picture.png http://img339.imageshack.us/img339/6838/picturehq.png也可以在jsfiddle 上找到它,(确保将输出窗口设置得足够大,以便它们切换到多列)
一些现实世界的挑战和我的一些限制:
- 图像不会都是相同的大小
- 图像不必全部相同
- 图库需要响应式(图像可以缩小/增长,可以从 2、3、4 列等更改)
- 字幕可以是任意长度,并且应该自动截断/隐藏/等。
- 我希望图像具有适当的纵横比,例如不
width:100%; height:100%
- 字幕应该以某种方式排列
我试过的
在响应式设计之前,我用来创建图像画廊的一种棘手方法是让 Wordpress 创建两种图像尺寸,一种具有最大宽度,另一种具有最大高度,两者都具有我想要的大小的软裁剪画廊缩略图。在生成图库时,我会检查哪些没有溢出边界,然后使用该图像作为缩略图。另一种方法是只使用接近我想要的大小的图像,然后将图像设置background-url
为位置设置为的包含元素的a center/center
。这适用于固定宽度的设计,但不适用于响应式!:)
另外,据我所知,响应式设计/ css 无法设置背景图像的比例。<img>
使用标签而不是通过 CSS<div>
的集合来编码图像似乎在语义上更准确。background-image
如果没有响应式设计,您可能还会有固定的列数,因此您可以clear:left
在每 n个图像上执行一次,以防止发生奇怪的包装。但是通过响应式设计,列数可能会从 2、3、4 等变化。
此外,如果没有响应式设计,您可以使用 Javascript 循环遍历图像/缩略图容器并标准化它们的高度。在响应式设计上执行此操作并非不可能,但是您必须等待页面完全加载,因为高度设置为以百分比开始,并且在加载所有资源之前可能不准确。然后,您必须担心窗口大小调整或方向更改会发生什么。这似乎是一种技巧,而不是正确的方法。
我还尝试设置元素的min-height
区域并将包含图像的区域设置为以及将其设置为具有。结果更好,但仍然不是很好:.thumbnail
<a>
display:block
min-height
3栏: 图片.png http://img818.imageshack.us/img818/9472/picturemk.png
4列:
图片1.png http://img525.imageshack.us/img525/706/picture1uh.png