如何不为较小的屏幕加载图像
How to not load images for smaller screen
我从不同的文章中遇到过许多解决方案,但哪一个对 CPU 的压力最小?
有
https://scottjehl.github.io/picturefill/
https://github.com/teleject/hisrc
但推荐使用哪一款并且与浏览器的兼容性最好?
这取决于你打算做什么。如果您不希望元素在屏幕尺寸太小的情况下有背景图片,那么您可以使用媒体查询,例如
@media screen and (max-width: 300px) {
body{
background-image: none;
}
}
}
@media screen and (min-width: 301px) {
body{
background-image: url("/url/to/image.jpeg");
}
}
}
但是如果你想控制某个图片标签的来源是否被加载你可以这样做:
if(screen.width > 300) image.src = "/url/to/image.jpeg";
另一方面,您可以使用相同的媒体查询隐藏图片标签
使用css@media检测屏幕宽度来控制是否加载图片。
@media screen and (max-width: 400px) {
img {
display: none;
};
}
或使用javascript.
$(document).ready(function(){
if (screen.width <= 400px) {
$("img").css('display', 'none');
}
}
);
我从不同的文章中遇到过许多解决方案,但哪一个对 CPU 的压力最小? 有 https://scottjehl.github.io/picturefill/ https://github.com/teleject/hisrc 但推荐使用哪一款并且与浏览器的兼容性最好?
这取决于你打算做什么。如果您不希望元素在屏幕尺寸太小的情况下有背景图片,那么您可以使用媒体查询,例如
@media screen and (max-width: 300px) {
body{
background-image: none;
}
}
}
@media screen and (min-width: 301px) {
body{
background-image: url("/url/to/image.jpeg");
}
}
}
但是如果你想控制某个图片标签的来源是否被加载你可以这样做:
if(screen.width > 300) image.src = "/url/to/image.jpeg";
另一方面,您可以使用相同的媒体查询隐藏图片标签
使用css@media检测屏幕宽度来控制是否加载图片。
@media screen and (max-width: 400px) {
img {
display: none;
};
}
或使用javascript.
$(document).ready(function(){
if (screen.width <= 400px) {
$("img").css('display', 'none');
}
}
);