我有以下laravel
代码:
<img sizes="(min-width:600px)100vw, (max-width:601px)100vw"
srcset="{{ asset('assets/img/img-home-experiences-600x600.jpg') }} 600w, {{ asset('assets/img/img-home-experiences-410x620.jpg') }} 601w" class="img-responsive" />
我想要做的是显示宽度 < 600 像素的 600x600 图像,以及宽度 > 600 像素的 410x620 图像。
上面的代码适用于桌面。但在 iPhone(iOS 8.1.2,safari/chrome)上,它会显示 410x620 图像。除了 IE9 - IE11 之外,它可以在不包含Picturefill的情况下正常工作(桌面和移动设备) 。
我在这里缺少什么吗?
解决方案:
<picture>
<!--[if IE 9]><video style="display: none;"><![endif]-->
<source srcset="{{ asset('assets/img/img-home-experiences-600x600.jpg') }}" media="(max-width: 600px)">
<source srcset="{{ asset('assets/img/img-home-experiences-410x620.jpg') }}" media="(min-width: 601px)">
<!--[if IE 9]></video><![endif]-->
<img sizes="100vw" srcset="{{ asset('assets/img/img-home-experiences-600x600.jpg') }} 600w, {{ asset('assets/img/img-home-experiences-410x620.jpg') }} 601w" class="img-responsive" />
</picture>