搜尋
首頁web前端css教學如何使用CSS控制前端圖片HTTP請求

如何使用CSS控制前端圖片HTTP請求

Jun 20, 2018 am 11:10 AM
http請求圖片

Web前端圖片加載的方式多種多樣,其所產生的HTTP請求也各異,這裡我們就來列舉CSS控制前端圖片HTTP請求的各種情況示例,需要的朋友可以參考下

圖片的http請求,有很多種情況,那麼究竟什麼情況下面不會發生請求呢?下面我用案例一一列舉一下,希望對你深入了解http圖片請求有所幫助。

1. 隱藏圖片

<img  src="/static/imghwm/default1.png"  data-src="haorooms.jpg"  class="lazy"     style="max-width:90%" / alt="如何使用CSS控制前端圖片HTTP請求" >

http請求如下:

2016616105558967.jpg (1067×402)

結論:只有Opera不產生請求。注意:用visibility: hidden隱藏圖片時,在Opera下方也會產生請求。

2. 重複圖片

<img  src="/static/imghwm/default1.png"  data-src="haorooms.jpg"  class="lazy"   / alt="如何使用CSS控制前端圖片HTTP請求" >
<img  src="/static/imghwm/default1.png"  data-src="haorooms.jpg"  class="lazy"   / alt="如何使用CSS控制前端圖片HTTP請求" >

http 要求如下:

2016616105640229.jpg (1264×371)

結論:所有瀏覽器都只產生一次請求。

3. 重複背景

<style type="text/css">   
    .test1 { background: url(haorooms.jpg) }   
    .test2 { background: url(haorooms.jpg) }   
</style>   
<p class="test1">test1</p>   
<p class="test2">test2</p>

http要求如下:

2016616105713640.jpg (1049×382)

結論:所有瀏覽器都只產生一次請求。

4. 不存在的元素的背景

<style type="text/css">   
    .test1 { background: url(haorooms.jpg) }   
    .test2 { background: url(http2.jpg) } /* 页面中没有class为test2的元素 */
</style>   
<p class="test1">test1</p>

http請求如下:

2016616105755887.jpg (1125×326)

結論:背景僅當應用程式的元素在頁面中存在時,才會產生請求。這對CSS框架來說,很有意義。

5. 隱藏元素的背景

<style type="text/css">   
    .test1 { background: url(haorooms.jpg); display: none; }   
    .test2 { background: url(http2.jpg); visibility: hidden; }   
</style>   

<p class="test1">test1</p>

http請求如下:

2016616105836960.jpg (1228×324)

結論:Opera和Firefox對於用display: none隱藏的元素背景,不會產生HTTP請求。只有當這些元素非display: none時,才會要求背景圖片。

6. 多重背景

<style type="text/css">   
    .test1 { background: url(haorooms.jpg); }   
    .test1 { background: url(http2.jpg); }   
</style>   
<p class="test1">test1</p>

上面這段程式碼的http請求,只會請求http2.jpg這張圖片,原因是test1的class把上面的給覆蓋掉了,所有隻請求後面的一張圖片!

假如用css3多張背景圖片的寫法:

<style type="text/css">   
    .test1 { background-image:url("haorooms.jpg"),url("http2.jpg"); }   
</style>   
<p class="test1">test1</p>

那麼http請求如下:

2016616105913578.jpg (1370×346)

webkit引擎瀏覽器對背景圖都請求,是因為支援CSS3中的多背景圖。

7. hover的背景載入

<style type="text/css">   
    a.test1 { background: url(haorooms.jpg); }   
    a.test1:hover { background: url(http2.jpg); }   
</style>   
<a href="#" class="test1">test1</a>

http請求如下:

2016616105947450.jpg (1203×343)

結論:觸發hover時,才會請求hover狀態下的背景。不觸發的話,只請求預設的背景圖片。

8. JS裡innerHTML中的圖片

<script type="text/javascript">   
    var el = document.createElement(&#39;p&#39;);   
    el.innerHTML = &#39;<img  src="/static/imghwm/default1.png"  data-src="haorooms.jpg"  class="lazy"   / alt="如何使用CSS控制前端圖片HTTP請求" >&#39;;   
    //document.body.appendChild(el); 
</script>

http請求如下:
2016616110110394.jpg (1257×329)

結論:只有Opera不會馬上請求圖片。

注意:當加入到DOM樹上時,Opera才會發送請求。

9. 圖片預先載入
最常用的是JS方案:

<script type="text/javascript">   
    new Image().src = &#39;haorooms.jpg&#39;;   
    new Image().src = &#39;http2.jpg&#39;;   
</script>

在無JS支援的環境下,可以採用隱藏元素來預先載入:

<img  src="/static/imghwm/default1.png"  data-src="haoroomscom.jpg"  class="lazy"     style="max-width:90%" / alt="如何使用CSS控制前端圖片HTTP請求" >

總結
1、對於隱藏圖片和隱藏元素的背景,Opera不會產生請求。
2、對於隱藏元素的背景,Firefox也不會產生請求。
3、對於尚未插入DOM樹的img元素,Opera不會產生請求。
4、基於webkit引擎的Safari和Chrome,支援多背景圖。
5、其它情景,所有主流瀏覽器保持一致。
希望上面的圖片http請求對您有幫助,大家可以互相留言交流!

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關建議:

 關於css實作右側固定寬度和左側寬度的自適應方法

使用html和css實現康乃爾筆記的範本

#

以上是如何使用CSS控制前端圖片HTTP請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
有點提醒您偽元素是孩子,有點。有點提醒您偽元素是孩子,有點。Apr 19, 2025 am 11:39 AM

這裡有一個帶子元素的容器:

菜單具有'動態命中區域”菜單具有'動態命中區域”Apr 19, 2025 am 11:37 AM

飛翔的菜單!您需要在第二個菜單中實現懸停事件以顯示更多菜單項的菜單,即您在棘手的領域中。一方面,他們應該

通過Webvtt改善視頻可訪問性通過Webvtt改善視頻可訪問性Apr 19, 2025 am 11:27 AM

“網絡的力量在於其普遍性。每個人的訪問無論殘疾是一個重要方面。” - 蒂姆·伯納斯 - 李

每周平台新聞:CSS :: Marker偽元素,預先渲染的Web組件,向您的網站添加Webmention每周平台新聞:CSS :: Marker偽元素,預先渲染的Web組件,向您的網站添加WebmentionApr 19, 2025 am 11:25 AM

在本週的綜述中:datepickers正在讓鍵盤用戶頭痛,一個新的Web組件編譯器,有助於與Fouc進行戰鬥,我們終於獲得了造型列表項目標記,以及在您的網站上獲得網絡攻擊的四個步驟。

使寬度和靈活的物品一起玩得很好使寬度和靈活的物品一起玩得很好Apr 19, 2025 am 11:23 AM

簡短的答案:您可能要尋找的是彈性折射和彈性基礎。

位置粘性和桌子標頭位置粘性和桌子標頭Apr 19, 2025 am 11:21 AM

您可以位置:粘性;一個

每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢每周平台新聞:HTML在搜索控制台,全局腳本範圍中的HTML檢查,Babel Envs添加默認查詢查詢Apr 19, 2025 am 11:18 AM

在本週的Web平台新聞世界中,Google搜索控制台可以更輕鬆地查看爬行的標記,我們了解到自定義屬性

Indieweb和網絡企業Indieweb和網絡企業Apr 19, 2025 am 11:16 AM

Indieweb是一回事!他們將舉行會議和一切。紐約客甚至在寫這件事:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。