国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > HTML > 正文

html中圖片顯示方式-----img與background的區(qū)別

2020-03-24 18:33:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本章給大家介紹html中圖片顯示方式-----img與background的區(qū)別,讓大家可以了解在html中讓圖片顯示的兩種方法的區(qū)別。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

一、從解析機(jī)制看

img屬于html標(biāo)簽,background是css方法。一個(gè)頁(yè)面由html、css、js組成,按照瀏覽器解析機(jī)制,html標(biāo)簽優(yōu)先解析。大家都知道css文件會(huì)放在head加載,但是這并不意味著它會(huì)立即執(zhí)行,而是在html加載完后才執(zhí)行的。所以重要的元素,如logo就應(yīng)該使用img。

如果僅僅是為了顯示一張圖片,比如banner、廣告圖等,建議采用background方式。因?yàn)椴恢匾淖詣?dòng)往后排,避免占用帶寬,造成數(shù)據(jù)阻塞。

如果圖片很多,這里又出現(xiàn)一個(gè)新的問(wèn)題,不同的瀏覽器支持的并發(fā)加載數(shù)量是不一樣的,(最新測(cè)試)IE是10個(gè),F(xiàn)F是10個(gè),圖片多,就會(huì)出現(xiàn)嚴(yán)重的延遲或者404,因?yàn)閳D片加載慢會(huì)影響到頁(yè)面主要數(shù)據(jù)呈現(xiàn),那么讓用戶看到的都是空白,你好意思讓他繼續(xù)等下去嗎!所以,如果不采用lazyload還是采用background比較好。

img標(biāo)簽優(yōu)點(diǎn)是自閉和,可以避免空標(biāo)簽出現(xiàn)(空標(biāo)簽也是w3c驗(yàn)證的內(nèi)容之一)。采用background方式就會(huì)出現(xiàn)空標(biāo)簽,bootstrap中的icon都是用i標(biāo)簽加入的,而i標(biāo)簽中是空內(nèi)容,這樣就產(chǎn)生了空標(biāo)簽(并不是說(shuō)這樣做不好,利弊等會(huì)聊)。

二、從SEO角度看

剛才說(shuō)了,img標(biāo)簽是自閉和的,不能添加文本內(nèi)容,但是,img有一個(gè)alt屬性,而且這個(gè)屬性在w3c標(biāo)準(zhǔn)中,要求必須有,這樣做的優(yōu)點(diǎn)還是很多的。

第一,圖片比較大,或者用戶網(wǎng)速比較窩火的時(shí)候,加載失敗了,至少還有文字提示告訴用戶這里是個(gè)什么內(nèi)容的圖片。如果用戶非要看這個(gè)圖,那就多刷幾次去加載。另外,alt屬性有利于輔助閱讀,尤其是對(duì)盲人朋友,他們使用閱讀器瀏覽頁(yè)面,如果沒(méi)有文本提示,就太不厚道了。

第二,alt屬性有利于SEO,搜索引擎實(shí)現(xiàn)很好的圖像識(shí)別還是有一段路要走。

當(dāng)然缺點(diǎn)也是有滴:

第一,Img加載的圖片是通過(guò)src拿到的,如果HTML代碼不允許修改,那怎么換圖,只有同名文件替換,但是有可能遇到304狀態(tài),需要服務(wù)器端做相應(yīng)的設(shè)置。這時(shí)background的優(yōu)點(diǎn)就出來(lái)了,換皮膚就是這個(gè)栗子。

第二,如果圖片顯示區(qū)域空間大小是預(yù)留的,那么圖片必須和預(yù)留的空間一致,否則圖片要么被拉伸要么被壓縮,都不是等比例操作。當(dāng)然,避免這種問(wèn)題就需要前端和視覺(jué)設(shè)計(jì)師遵守一定的規(guī)范。

三、語(yǔ)義化角度

background和語(yǔ)義化不沾邊了,img是HTML標(biāo)簽,語(yǔ)義明確。

建議:重要的需要優(yōu)先加載的圖片最好采用img。不重要的圖片最好采用background。

做SEO是最方便的還是background,圖片是放在背景上的,前景寫(xiě)內(nèi)容,兩不誤。如果不想讓內(nèi)容顯示出來(lái),就加text-indent, -99999你懂的。(以前有這種玩法,是搜索引擎算法單一的年代,關(guān)鍵字比重高 排名就靠前)。

剛才提了一下bootstrap的background方法,bootstrap的做法是用background設(shè)置icon,icon的使用太靈活了,所以必須模塊化,語(yǔ)義化先靠邊站,魚(yú)與熊掌不可兼得。PS:bootstrap v3之后采用了icon font

其次icon的重要性真不高,放在最后加載還減少了帶寬占用量,提高PV速度。

img標(biāo)簽語(yǔ)義很明確不能亂用,所以bootstrap采用無(wú)語(yǔ)義的i標(biāo)簽來(lái)設(shè)置icon也挺好。PS:自己項(xiàng)目中使用無(wú)語(yǔ)義標(biāo)簽要注意是否向前兼容,要關(guān)注HTML5中的定義

以上就是html中圖片顯示方式-----img與background的區(qū)別的詳細(xì)內(nèi)容,html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 翁牛特旗| 惠东县| 铜山县| 永登县| 永新县| 勃利县| 长子县| 常德市| 施秉县| 榆中县| 寿阳县| 灯塔市| 始兴县| 延边| 达孜县| 巴林左旗| 安塞县| 娄底市| 桐乡市| 浪卡子县| 资兴市| 杭锦后旗| 鹿邑县| 肥乡县| 江山市| 焦作市| 莆田市| 郁南县| 毕节市| 交城县| 红桥区| 东山县| 鹤庆县| 绵阳市| 吉水县| 汶川县| 喀什市| 宜昌市| 镇安县| 壶关县| 武定县|