你说得对,事情不是这样的。
如果你可以换一种方式思考你的问题,那么在现代浏览器中,你可以通过选择图像大小和响应图像来获得正确的结果。
如果使用如下代码:
add_image_size( \'custom-size-small\', 200, 200, true );
add_image_size( \'custom-size-medium\', 300, 300, true );
add_image_size( \'custom-size-large\', 400, 400, true );
。。。在模板中,类似于:
wp_get_attachment_image( $image_ID, \'custom-size-small\' )
。。。然后,默认情况下(WP 4.4及更高版本),您将获得一个图像标签,其中包含集合中的最小版本作为
src
以及
srcset
属性,较新的浏览器将从中选择并显示最大的适当版本。
所以,如果一个特定的图像没有更大的版本,那也没关系。一幅图像300x200
将有一个200x200
版本,该版本将是HTML中唯一的版本,所有浏览器都将显示该版本。
我在调整响应图像时解决了这个问题,以便在只支持src
而不是srcset
.