Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как загрузить гифку (https://javascript.ru/forum/misc/83295-kak-zagruzit-gifku.html)

dmitry111 11.11.2021 02:22

Как загрузить гифку
 
Проблема: во время загрузки gif происходит схлопывание окна на полсекунды.
Решить проблему отображением лоадера и события onload нельзя, gif долго загружается.

Известен размер gif 1280x800 (соотношение 8:5), но контейнер растягивается в зависимости от размеров экрана, поэтому указать эти размеры нельзя

Может можно прописать высоту контейнера как-нибудь, чтоб предотвратить схлопывание?

Aetae 11.11.2021 06:15

Обычная техника для aspect-ratio:
<style>
.wrapper {
  resize: horizontal;
  border: 1px dashed;
  width: 100px;
  overflow: hidden;
}

.wrapper::before {
  content: "";
  display: block;
  float: left;
  padding-bottom: 62.5%; /* 1280x800: 800 / 1280 * 100 */
}

#img {
  display: block;
  width: 100%;
}
</style>

<button onclick="img.src='//via.placeholder.com/1280x800'">
  load img
</button>

<div class="wrapper">
  <img id="img"/>
</div>


Часовой пояс GMT +3, время: 03:36.