Показать картинку только после загрузки в браузер
Есть фоновый <div class="b"> с классом .b у него пседоклассом ::before
Код:
.b::before { |
Ops,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> body, html{ height: 100%; } div.a { opacity: 0; } div.a.b{ opacity: 1; transition: 3s; } div.b::before { position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: auto; content: ""; background-image: var(--img, none); background-repeat: no-repeat; background-size: cover; background-position: center; } </style> </head> <body> <div class="a"></div> <script> const img = new Image(); img.src = 'https://wallpaperscave.ru/images/original/18/06-22/earth-field-60178.jpg'; img.decode() .then(() => { document.querySelector('.a').style.setProperty('--img', `url(${img.src})`); document.querySelector('.a').classList.add('b') }) </script> </body> </html> |
Спасибо! То что надо. Ещё немного переделаю под себя. :dance:
|
А как сделать что бы одна картинка, не грузилась в браузер несколько раз?
![]() |
картинка загружается единожды (если адрес не меняется динамически)
далее картика берется из кеша браузера у вас стоит Disable cache галочка уберите, и увидите, что берется из кеша, не дергая сервер |
Ох пардон, мне что то самому голову заморочили. Премного благодарен.
|
Часовой пояс GMT +3, время: 09:58. |