Javascript 在小屏幕上隐藏/显示图像
我的前端使用的是Angle material-2, 我想为桌面和移动屏幕显示不同的图像 我的代码如下所示Javascript 在小屏幕上隐藏/显示图像,javascript,angular,angular-material,angular-material2,Javascript,Angular,Angular Material,Angular Material2,我的前端使用的是Angle material-2, 我想为桌面和移动屏幕显示不同的图像 我的代码如下所示 <div class="banner"> <img [src]="images.desktopBanner"/> <img [src]="images.mobileBanner"/> </div> 我想在大设备上显示desktopBanner图像,在小屏幕上显示mobileBanner 注意:标记显示:使用媒体查询不显示不是最佳解
<div class="banner">
<img [src]="images.desktopBanner"/>
<img [src]="images.mobileBanner"/>
</div>
我想在大设备上显示desktopBanner图像,在小屏幕上显示mobileBanner
注意:标记显示:使用媒体查询不显示不是最佳解决方案,因为这可能不会同时显示两个图像,但如果您检查网络呼叫,它仍将下载两个图像。我建议您阅读以下两篇文章:
:
<img
src="swing-400.jpg"
sizes="(max-width: 30em) 100vw, (max-width: 50em) 50vw, calc(33vw - 100px)"
srcset="swing-200.jpg 200w, swing-400.jpg 400w, swing-800.jpg 800w, swing-1600.jpg 1600w"
alt="Kettlebell Swing" />
如果你想展示非常不同的图像,你可能会谈论艺术方向,在这种情况下,
是有意义的,因为:
为什么我们不能用尺寸/尺寸集进行艺术指导
根据设计,size/srcset语法考虑了视口的
宽度以及屏幕的DPR。将艺术方向添加到同一场景中
语法意味着web开发人员必须显式地
指定标记中的所有DPR和视口宽度组合
这将使web开发人员的工作更加困难和困难
这会使语法更难掌握,也会使语法更难理解
冗长的
因此,语法类似于:
<picture>
<source media="(min-width: 45em)" srcset="large.jpg">
<source media="(min-width: 32em)" srcset="med.jpg">
<img src="small.jpg" alt="The president giving an award.">
</picture>
这两种解决方案都有很好的支持:除IE之外的所有功能,以及一种退回到常规、非花哨渲染的方法。下面是一个使用
窗口DOM对象的属性innerWidth
的解决方案:
isMobile(){
return window.innerWidth Use或sourceset.ok,让我试试,它是否涵盖了大多数浏览器版本