溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CSS怎么實(shí)現(xiàn)響應(yīng)式圖像顯示

發(fā)布時(shí)間:2021-08-10 17:10:14 來(lái)源:億速云 閱讀:134 作者:chen 欄目:web開(kāi)發(fā)

這篇文章主要介紹“CSS怎么實(shí)現(xiàn)響應(yīng)式圖像顯示”,在日常操作中,相信很多人在CSS怎么實(shí)現(xiàn)響應(yīng)式圖像顯示問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”CSS怎么實(shí)現(xiàn)響應(yīng)式圖像顯示”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

有許多方法可以實(shí)現(xiàn)web頁(yè)面里圖像的應(yīng)答。然而,我碰到的所有方案都使用了JavaScript。這使我疑惑不用JavaScript實(shí)現(xiàn)圖像響應(yīng)是否可行。

我提出了下面純CSS的方案。

它是如何工作的呢?

我把<img>標(biāo)簽防止在<span>內(nèi)。src屬性將從服務(wù)器獲得手機(jī)版本的圖像。接著我還在<span>元素內(nèi)部包含了一點(diǎn)CSS。

什么??HTML文檔中能嵌入了CSS?

是的,只要你增加了scoped屬性,這就在HTML5里就是非常有效的。在這個(gè)CSS里,我從某個(gè)斷點(diǎn)開(kāi)始用了@media查詢把作為背景的高清圖像添加到<span>里。 在下面這段代碼里,我只添加了一個(gè)斷點(diǎn),然而你當(dāng)然可以按你喜歡的增加許多。

通過(guò)使用背景圖像指示符,只有在需要的時(shí)候才會(huì)從服務(wù)器獲取這個(gè)圖像。也就是說(shuō),只有在media查詢滿足的時(shí)候才能獲取到。<img>將確保<span>有正確的高寬比,這樣<span>上的背景圖像才能得到正確的現(xiàn)實(shí)。

下面是可以運(yùn)行的所有代碼。

首先看HTML。

代碼如下:


span class="magik-responsive-image" id="image-01">
<img src="http://dummyimage.com/200x150/cdcdcd/000/?text=lo-res" alt="TODO">
<style scoped>
@media screen and (min-width: 701px){#image-01{background-image:url(http://dummyimage.com/1600x1200/dcdcdc/000/?text=hi-res);}}
</style>
</span>


CSS 我們還需要對(duì)CSS最一點(diǎn)修改,以便在應(yīng)當(dāng)顯示高清圖像的時(shí)候隱藏低清晰度的圖像。技巧是增加backgroud-size:100%;這使得在維護(hù)高寬比不變的情況下伸展背景。

代碼如下:


.magik-responsive-image {
background-repeat: no-repeat;
background-size: 100%;
display: block;
position: relative;
}
.magik-responsive-image img {
max-width: 100%;
}
@media screen and (min-width: 701px) {
.magik-responsive-image img{
opacity: 0;
}
}


好處

沒(méi)有JavaScript
實(shí)現(xiàn)起來(lái)簡(jiǎn)單
還可用于視頻(我將在以后的博客文章中發(fā)表有關(guān)這方面的內(nèi)容)

缺點(diǎn)

在桌面環(huán)境下,需要向服務(wù)器發(fā)送兩個(gè)請(qǐng)求
<style>標(biāo)簽的scoped睡醒在主要的瀏覽器里仍然沒(méi)有得到支持。正是由于這個(gè)原因,我們才需要增加一個(gè)id,不過(guò)在后端代碼中增加這通常不是問(wèn)題。

到此,關(guān)于“CSS怎么實(shí)現(xiàn)響應(yīng)式圖像顯示”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI