可以为每个屏幕大小和缓存提供不同的图像吗?

时间:2015-09-22 作者:John_911

所以我的帖子有一个特色图片。此图像很大。1920 x 1281。最大宽度设置为960,因此我的图像是视网膜屏幕的2倍大。然而,这会导致约200-300kb的文件。这些图像响应迅速,在移动设备上工作良好,但它是相同的大图像。

我读过关于如何使用纯php为不同屏幕大小的不同图像提供服务的文章,但我想知道如果我缓存我的网站,这将如何工作?我猜不会,因为它会创建一个带有其中一个图像大小的静态页面,并将其用于每个屏幕大小。

是否有任何人都知道的解决方法?

我唯一的想法是禁用特色图像,只需在图片中编码为具有我所需尺寸的div的背景属性,并使用媒体查询提供不同的图像尺寸。我的css采用移动优先的方法,这就是为什么这会奏效。但这会很乏味,我宁愿让事情自动化一点。

有什么想法吗?

1 个回复
SO网友:Ariful Islam Shaon

我不知道缓存是怎么处理的。但您可以根据屏幕大小在任何地方使用不同的图像,如下所示:

假设您有3种不同的屏幕大小-

平板电脑、宽屏手机、小屏幕手机,因此,只需为所有屏幕大小添加背景图像(即特征图像),例如,不同的宽度和高度-

/* Tablet Layout: 768px. */

@media only screen and (min-width: 768px) and (max-width: 991px) {

     #feature-img{
         background-image: url(images/image.png) no-repeat;
         background-size: cover;
         width: 200px;
         height: 200px;
     }

}



/* Mobile Layout: 320px.  */

@media only screen and (max-width: 767px) {

     #feature-img{
         background-image: url(images/image.png) no-repeat;
         background-size: cover;
         width: 100px;
         height: 100px;
     }

}


/* Wide Mobile Layout: 480px. */

@media only screen and (min-width: 480px) and (max-width: 767px) {

     #feature-img{
         background-image: url(images/image.png) no-repeat;
         background-size: cover;
         width: 120px;
         height: 120px;
     }

}

相关推荐

WordPress中的Responsive.css应该优先

wp_enqueue_style( \'style\', THEMEROOT . \'/css/style.css\' ); wp_enqueue_style( \'responsive\', THEMEROOT . \'/css/responsive.css\' ); 我正在使用上述方法将样式表排队,但我想要的并没有实现。不管我写什么responsive.css 应该优先考虑(这意味着此处编写的CSS应该覆盖以style.CSS编写的所有其他内容),但这并没有发生。有没有办法通过Wor