如何在影像載入前為可變大小的影像預留空間,以防止佈局變更?
P粉936509635
P粉936509635 2023-08-28 00:04:44
0
1
547
<p>我有一個包含文字、圖片標籤和一些文字的html頁面,如下所示:</p> <pre class="brush:php;toolbar:false;">這是圖像之前的文字。 <img src="image.jpeg"/> 這是圖像之後的文字。 </pre> <p>現在當頁面加載時,由於圖像加載需要更長的時間,文字會在圖像之前加載。因此會出現佈局變化,即圖像之後的文字會緊接在圖像之前的文字後面,如果圖像尚未加載,則不會為圖像預留任何空間。然而,當圖像載入完成後,圖像之後的文字會移到下方,即佈局發生變化。如何在圖像加載之前為圖像預留空間,以避免佈局變化?此外,圖像標籤中可以包含任何圖像,並且圖像大小也是動態的。頁面上必須顯示原始大小的圖像。此外,由於我正在使用伺服器端渲染,我事先知道要顯示的圖像的大小。我不能固定圖像的高度和寬度,因為這會導致圖像在顯示大小更改時出現問題,圖像將不再適應螢幕的大小。 </p>
P粉936509635
P粉936509635

全部回覆(1)
P粉722409996

1- 將您的映像放入一個容器中。

2- 給容器一個固定的widthheight,以及一個固定的min-heightmin-width,可以根據您的需求或圖片的解析度 來設定。

就是這樣。

不用擔心js程式碼,我只是為了在3秒後顯示圖像,以幫助您理解我的意思。

var image = document.querySelector(".image");
image.style.display = "none";
setTimeout(() => {
    image.style.display = "block";
}, 3000);
.image-container {
  width: 350px;
  min-width: 350px;
  height: 250px;
  min-height: 250px;
  border: 1px solid red;
}

.image { 
  width: 350px;
  min-width: 350px;
  height: 250px;
  min-height: 250px;
}
 <h2 class="before">This is text before</h2>
 <div class="image-container">
  <img class="image" src="https://images2.minutemediacdn.com/image/fetch/w_850,h_560,c_fill,g_auto,f_auto/https%3A%2F%2Fwinteriscoming.net%2Ffiles%2F2021%2F11%2FCaraxes-850x560.jpeg" alt="">
 </div>
 <h2 class="after">This is text after</h2>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!