javascript - 如何在不影响页面加载的大型内容绘制的情况下加载高分辨率背景图像
问题描述
我正在使用灯塔来测量页面性能,我注意到,即使我使用低分辨率背景图像并使用 javascript 加载高分辨率图像,即使我等到页面完全加载,它仍然会影响灯塔上最大的内容绘画......我有什么遗漏吗?
window.onload = function () {
const header = document.querySelector('.header');
header.style.backgroundImage =
'url(assets/img/the-image.webp)';
};
这是该页面的链接。加载高分辨率时,低分辨率图像隐藏在叠加层后面
解决方案
我开始热衷于不使用“背景图像”作为我的高分辨率背景图像。
我更喜欢这样的东西:
<style>
.BackgroundImage-Container {
position: relative;
width : 100%;
height : 100%;
}
.BackgroundImage {
position: absolute;
top : 0;
right : 0;
bottom: 0;
left: 0;
width : 100%;
height : 100%;
object-fit: cover;
}
</style>
<picture class="BackgroundImage-Container">
<img class="BackgroundImage" src="./some-image.png" />
</picture>
所以我可以使用任何让我高兴lazyload
的 , srcset
, 。<source media="" ></source>
推荐阅读
- haskell - Haskell 类型约束
- swift - 分离结果
- php - 从两个数据表中返回一个数组,这是在输出 JSON 之前在 mySQL 或 PHP 中完成的吗?
- javascript - 我可以向 javascript 事件发送一个额外的对象并在事件中使用对象属性吗?
- php - 我们如何将 FORM 数据从包含的文件传递到另一个页面?
- encryption - Electron - 使用 crypto 或 cryptify 加密文件
- php - php while 循环在 continue 后结束
- next.js - Next-Auth 使用凭据登录在 NextJS 中不起作用
- spring - 无法使用 url(微服务)从一个 spring boot 获取数据到另一个 spring boot
- twitter-bootstrap - Bootstrap 4 & Codeignitier 4 - 更大的屏幕视图和更小的屏幕视图以及如何处理表单