我有一个页面,我需要在响应式网站中显示照片库,也支持视网膜显示。网格必须由以这种方式按比例填充给定容器的块组成:
If the screen width is >= 1200px
网格必须由 4 列组成(每个块的宽度为 25%)If the screen width is < 1200px and >= 768px
网格必须由 3 列组成(每个块的宽度为 33%)If the screen width is <= 767px
网格必须由 2 列组成(每个块的宽度为 50%)
所有的网格块必须是 2:3 的比例大小,并且测量一个 1980 像素宽视口的网格块我可以告诉你大约 500 像素(这不是限制,它只是一个有用的测量数据,我认为我需要解释以下)。
当然,这可以通过@media
查询轻松实现,并使用padding-top: 66.66666666666667%
2:3 的比例;我试图为您提供尽可能多的数据来解释我必须遵守的限制。
因此,棘手的部分来了:
网格的缩略图具有各种大小和纵横比,我需要将它们垂直和水平居中在各自的网格块中,同时适合/覆盖整个网格块区域。
由于网格是响应式的,因此我需要拇指与它们的块成比例地缩放以用于狭窄的视口。
更复杂的是,我需要支持 Retina 显示器,因此拇指必须是两倍大小并缩小一半,并且也适合它们的网格块。
如何做到这一点?(最好只通过 CSS)
附加数据:
我正在使用 joomla!2.5 作为这个项目的 CMS,我需要给我的客户一个非常简单的方法来添加图像。我找到的最好和最简单的解决方案是 Simple Image Gallery:我对这个插件的唯一需要是<ul>
页面中的自动拇指生成过程 + 自动生成的网格,并且非常简单地覆盖 HTML+css 输出结构以满足我的需要。
至于视网膜显示器,最好提供正确的@2x 语法,但我并不在意;至于性能问题,我认为为所有显示提供单个缩小图像当然更容易处理,但也是处理 img 权重的一种非常有效和高效的方法!
请参阅this for reference,基本上你使用尺寸加倍的图像和 20 左右的 jpg 压缩,使用 CSS 将图像缩小一半,你仍然有一个漂亮的图像,适用于正常和视网膜显示。与原始尺寸图像相比,重量也减少了 25%!
我自己对此进行了测试,我可以说它工作得很好,在极少数情况下,我的重量比正常尺寸的图像重,而且重量可以忽略不计(与易用性和好处相比)。