精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

CSS 小技巧:如何將 img 轉換成 background-image

開發(fā) 前端
本文的實現(xiàn)都可以通過嵌套一層標簽來實現(xiàn),這里其實針對的是那種 html 結構不方便修改的情況,比如是框架自己生成的,或者在一些富文本編輯器了,嵌套一層會有更多的麻煩。?

一、img vs background-image

大部分注重內容的圖片(比如商品展示、文章配圖)都推薦直接使用img標簽,好處有很多,比如

  1. img支持天然懶加載,設置loading="lazy"
<img src='xxx.png' loading="lazy">
  1. img支持各種JS監(jiān)聽,比如加載成功、加載失敗
<img src='xxx.png' onload="" onerror="">
  1. img支持自定義解碼,同步還是異步
<img src='xxx.png' decoding="sync">
  1. img對SEO更加優(yōu)化,對可訪問性更好
<img src='xxx.png' alt="頭像">

但是,除了上面這些,在視覺表現(xiàn)上,圖片靈活性就不如背景圖片了。

比如img不支持重復平鋪、不支持圖片疊加等等,也不像普通標簽還可以使用偽元素。

這樣就導致很多時候,比如要在img外面嵌套一層容器再額外處理,還是有些不便的,特別是在HTML不方便修改的情況下。

那么,有沒有什么辦法,可以將img轉換成background-image呢? 也就是使用img標簽,但是卻可以使用背景圖的諸多特性。

image-20250822194214247image-20250822194214247

二、img 的層級

img是一個可替換標簽,意思就是這個標簽的渲染內容是由外部決定的。

這樣就導致img和一般標簽有些不同,比如沒有偽元素,而且「資源的層級是高于一些裝飾性屬性的」,例如背景、內陰影等

image-20250823103620523image-20250823103620523

比如,我們給一個img標簽添加一個背景。

<img src="xxx.png" style="background:red">

效果如下:

image-20250823103843453image-20250823103843453

沒有看到任何紅色背景,說明圖片的層級是高于背景的。

如果我們換一個帶透明像素的圖片,就能看到背景了。

image-20250823104022461image-20250823104022461

所以,下面的問題就是,如何把img本身的圖片給隱藏起來?

三、如何隱藏 img 資源?

當然這里說的隱藏并不是直接隱藏整個img標簽,比如:

img {
  opacity: 0 /*????*/
}

這樣的話,整個標簽都看不見了,背景也看不見了,也就失去了轉換的意義。

那還有什么辦法可以隱藏呢?這里有兩種方式。

1. 通過content替換內容

在之前,可以從可替換標簽入手,通過content屬性可以改變可替換元素的內容,就像這樣。

img {
  content: url(xx.png)
}

我們給img標簽一個透明的圖片內容,就可以替換img原本的顯示了,這里可以用1*1像素的透明gif。

img {
  content: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}

但是,這樣設置以后,圖片完全不可見了。這樣因為,此時的img已經(jīng)被渲染成1*1像素了。

image-20250823111419050image-20250823111419050

所以在用這種方式時,必須手動指定寬高。

img {
  content: url(xxx.png);
  width: 300px;
  height: 300px;
}

為了方便觀察,我們加上邊框。

image-20250823111006597image-20250823111006597

這樣原始的img鏈接已經(jīng)被隱藏了。

2. 通過object-position偏移

上面的方式比較硬核,還可以設置一張錯誤的圖片,讓圖片展示直接出錯,這樣還能使用偽元素。

不過,有個小缺陷是,必須要手動指定圖片寬高,可能存在一定的限制。

下面介紹另一個方式,那就是通過object-positon收到改變圖片的顯示位置。比如:

img {
  object-position: 100px;
}

效果如下:

image-20250823112432629image-20250823112432629

我們只需要給個足夠大的值,圖片就完全移出標簽外了。

img {
  object-position: 100vw; /**足夠大的偏移/
}

這樣也能隱藏圖片的展示,而且也不影響img原本尺寸。

image-20250823111006597image-20250823111006597

注意,這里不能用object-position: 100%來實現(xiàn),和背景位置比較像,100%表示居右了,并不是向右偏移自身的100%。

四、如何通過背景圖片顯示

再回到img標簽本身,有辦法直接通過src屬性直接顯示為背景圖片嗎?

<img src="xxx.png">

在之前這篇文章:原子化的未來?了解一下全面進化的CSS attr函數(shù) 有提到attr的新特性。

但是,出于安全考慮,并不能直接顯示背景圖片。

img{
  background: url(attr(src));
}

其實呢,還可以用image-set來直接渲染字符串格式的資源,寫法如下。

img {
  background: image-set(attr(src));
}

這個技巧是在張鑫旭的這篇文章中學到的:https://www.zhangxinxu.com/wordpress/2025/05/css-attr-function/

效果如下:

image-20250823115359509image-20250823115359509

背景尺寸有些不對,我們調整一下。

img {
  background: image-set(attr(src)) 0 0/100%;
}

這樣就通過背景完美替換了圖片。

image-20250823115545747image-20250823115545747

不過這個需要用過attr的新特性,要求兼容性 chrome 133+。

更常見的做法是通過自定義屬性來實現(xiàn)。

<img src="xxx.png" style="--bg: url(xxx.png)">

然后直接使用這個變量。

img {
  background: var(--bg) 0 0/100%;
}

五、轉換成背景圖片后的好處

費了一番功夫轉換成了背景圖片,有哪些好處呢?下面舉幾個例子。

1. 圖片內邊框

通常我們使用border實現(xiàn)的邊框都是外邊框,無法直接覆蓋在圖片上,有時候需要一種半透明邊框來強化圖片的輪廓,比如下面的書封。

imgimg

這時,我們可以通過內陰影來實現(xiàn)這樣的效果(內陰影的層級高于背景)。

img {
  background: image-set(attr(src)) 0 0/100%;
  border-radius: 8px;
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.1)
}

效果如下:

image-20250823122050743image-20250823122050743

2. 圖片高光或者水印

有時候書封還需要高光或者水印,這樣會更有質感一些,就像這樣。

image-20250823123002130image-20250823123002130

這時,我們可以直接給圖片疊加一層高光素材就行了。

img {
  background: url("https://imgservices-1252317822.image.myqcloud.com/coco/s03272025/e21047d7.v7q5ko.png") 0 0/100% 100%, image-set(attr(src)) 0 0/100%;
}

效果如下:

image-20250823123221252image-20250823123221252

也可以疊加一層平鋪的水印。

img{
  --water: url("data:image/svg+xml,%3Csvg width='150' height='150' style='transform:rotate(-45deg)' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='50%25' y='50%25' font-size='14' fill='%23a2a9b6' font-family='system-ui, sans-serif' text-anchor='middle' dominant-baseline='middle'%3E前端偵探%3C/text%3E%3C/svg%3E");
  background: var(--water) 50%/28%, image-set(attr(src)) 0 0/100%;
  box-shadow: inset 0 0 0 4px rebeccapurple;
}

效果如下:

image-20250823123505939image-20250823123505939

3. 圖片縮放效果

可以在不嵌套標簽的情況下實現(xiàn)圖片縮放效果。

img{
  transition: .3s;
}
img:hover{
  background-size: 120%;
}

效果如下:

Kapture 2025-08-23 at 14.01.09Kapture 2025-08-23 at 14.01.09

以上所有 demo 可以查看:https://codepen.io/xboxyan/pen/azvGeOV。

六、更多一種選擇

其實上面的實現(xiàn)都可以通過嵌套一層標簽來實現(xiàn),這里其實針對的是那種 html 結構不方便修改的情況,比如是框架自己生成的,或者在一些富文本編輯器了,嵌套一層會有更多的麻煩。

責任編輯:武曉燕 來源: 前端偵探
相關推薦

2022-07-19 10:53:57

模型算法智能

2023-08-29 09:00:00

人工智能img2prompt

2017-08-10 14:15:31

Windows10Windows文件轉換

2021-08-31 09:12:18

StringIntLong

2023-10-16 09:26:48

CSS類型轉換

2011-03-23 09:54:47

數(shù)據(jù)模型數(shù)據(jù)庫設計

2011-03-22 14:57:52

Oracle數(shù)據(jù)庫普通表分區(qū)表

2023-10-20 08:00:00

人工智能MusicGen

2011-02-25 10:22:03

ibmdwXMLDB2

2011-12-09 21:13:29

iOS

2021-06-07 17:30:23

LinuxASCII圖片轉換

2021-07-14 14:50:08

LinuxASCII圖片

2021-03-15 08:00:00

音頻框架數(shù)據(jù)

2022-10-12 09:55:14

xls文件xlsx文件

2023-12-11 09:00:00

人工智能3D模型

2011-08-02 09:46:04

iOS開發(fā) XML

2019-09-06 08:00:00

開源技術 語音

2011-08-02 10:08:32

IOS開發(fā) XML

2017-06-06 13:10:25

Windows 10Windows音樂格式轉換成

2024-01-04 09:17:03

前端開發(fā)CSV 格式JSON 字符串
點贊
收藏

51CTO技術棧公眾號

伊人色综合久久天天人手人婷| 狠狠色伊人亚洲综合成人| 亚洲女在线观看| 波多结衣在线观看| 肉肉视频在线观看| 久久嫩草精品久久久精品| 成人欧美一区二区三区黑人孕妇 | wwwwxxxx日韩| 日本片在线看| 国产精品美女www爽爽爽| 国产精品日韩欧美一区二区| 亚洲 国产 日韩 欧美| 国产真实久久| 久久精品色欧美aⅴ一区二区| 久久久久麻豆v国产精华液好用吗 在线观看国产免费视频 | 日韩免费毛片视频| 污视频网站免费在线观看| 国产亚洲精品资源在线26u| www 成人av com| 亚洲天堂手机版| 香蕉久久久久久久av网站| 欧美成人激情在线| 亚洲欧美精品久久| 国产免费播放一区二区| 亚洲第一区在线观看| а 天堂 在线| 国产亚洲欧美日韩精品一区二区三区 | 亚洲欧美综合图区| 午夜剧场免费看| 久久久久九九精品影院| 欧美日韩一本到| 黄色片一级视频| 国产污视频在线播放| 一区二区在线观看av| 亚洲毛片aa| 国产福利在线视频| 99精品欧美一区二区三区综合在线| 91在线免费观看网站| 在线亚洲欧美日韩| 日韩不卡手机在线v区| 国产成人精品电影久久久| 国产女同在线观看| 亚洲少妇一区| 51色欧美片视频在线观看| 久久精品国产亚洲AV无码麻豆| 亚洲区综合中文字幕日日| xvideos亚洲人网站| 99re6热在线精品视频| 日韩激情图片| 日韩中文娱乐网| 手机在线中文字幕| 91成人观看| 久久国产精品亚洲| 99视频只有精品| 国内精品久久久久国产盗摄免费观看完整版 | 亚洲国产一区二区精品专区| 久久久天堂国产精品女人| 精品无码免费视频| 亚洲三级网站| 日本免费久久高清视频| 国产男人搡女人免费视频| 日韩精品国产精品| 国产欧美一区二区| 国产精品国产一区二区三区四区| 国产一区美女在线| av激情久久| 制服丨自拍丨欧美丨动漫丨| 夜级特黄日本大片_在线| 欧美激情一区二区三区| 日韩高清在线播放| 日本中文字幕在线看| 中文字幕在线免费不卡| av不卡在线免费观看| 国产三级在线播放| 亚洲电影中文字幕在线观看| 日韩av一二三四区| 国产成人免费精品| 日韩美一区二区三区| 7788色淫网站小说| 成人在线丰满少妇av| 美女福利精品视频| 国产又爽又黄的视频| 另类欧美日韩国产在线| 成人午夜电影在线播放| 欧美日韩视频精品二区| 国产精品毛片大码女人| 无码日本精品xxxxxxxxx| 成人小电影网站| 91精品国产色综合久久ai换脸| 亚洲精品第二页| 日韩欧美午夜| 97在线精品国自产拍中文| 国产精品成人久久久| 国产精品一区二区在线观看不卡| 精品国产一区二区三区四区精华| av资源网在线观看| 精品国产91久久久久久| 想看黄色一级片| 亚洲欧美成人vr| 精品中文字幕乱| 中文字幕精品一区二| 成人综合在线观看| 先锋在线资源一区二区三区| 免费在线播放电影| 在线看一区二区| 蜜臀av粉嫩av懂色av| 久久视频精品| 日韩av电影在线播放| 亚洲福利在线观看视频| 国产精品―色哟哟| 国产亚洲精品网站| 大奶在线精品| 欧美成人一二三| 真实新婚偷拍xxxxx| 成人av动漫在线| 五月天在线免费视频| 欧美日韩免费观看视频| 亚洲精品久久久久久久久| 男人操女人的视频网站| 日本欧美一区二区三区乱码| 精品国产一区二区三区麻豆小说 | 成人a在线视频| 你懂的视频在线播放| 亚洲成人1区2区| 天天爽夜夜爽视频| 天堂美国久久| 成人黄色av播放免费| 国产最新视频在线| 欧美性xxxx18| 在线免费观看成年人视频| 在线日韩视频| 国产精品区一区| 伊人福利在线| 欧美大片在线观看一区| 澳门黄色一级片| 国产一区二区三区在线看麻豆| 亚洲图片在线观看| 99久久综合国产精品二区| 国产一区二区三区18| 日本中文字幕第一页| 91色.com| av动漫在线观看| 西野翔中文久久精品字幕| 97欧美精品一区二区三区| 秋霞av鲁丝片一区二区| 亚洲v中文字幕| 国产chinese中国hdxxxx| 亚洲欧洲另类| 精品国产乱码久久久久久郑州公司| 9lporm自拍视频区在线| 亚洲精品www久久久| 国产成人在线播放视频| 91日韩精品一区| 最近免费中文字幕中文高清百度| 国产精品一区二区99| 国产激情999| 无遮挡动作视频在线观看免费入口 | 在线视频欧美日韩| 中文字幕乱码人妻二区三区| 国产精品毛片大码女人| 少妇性l交大片7724com| 亚洲成色精品| 欧美视频观看一区| 男人亚洲天堂| 欧美日韩国产999| 天天操天天射天天舔| 色综合久久中文字幕综合网| 亚洲v国产v欧美v久久久久久| 美女网站色91| 国产资源第一页| 欧美三级自拍| 国产精品久久久久久av下载红粉| 免费a级毛片在线播放| 日韩精品影音先锋| 亚洲欧美偷拍视频| 自拍偷自拍亚洲精品播放| 韩国av中国字幕| 久久亚洲国产精品一区二区| 一区二区在线观| 国产另类在线| 国产精品女人网站| av网站免费在线观看| 亚洲黄色在线看| 最近中文字幕在线观看视频| 亚洲激情校园春色| 日本黄色特级片| 国产真实乱对白精彩久久| 99热久久这里只有精品| 精品日韩在线| 成人综合av网| 欧美aaa大片视频一二区| 欧美福利在线观看| 成人高清免费在线播放| 精品国产乱码久久| 中文字幕一级片| 午夜婷婷国产麻豆精品| 男女全黄做爰文章| 久久综合九色综合欧美亚洲| aaa一级黄色片| 日本最新不卡在线| 国产精品国产亚洲精品看不卡| 99热在线成人| 欧美重口乱码一区二区| 91精品啪在线观看国产爱臀| 国产精品久久久久7777婷婷| 成人在线免费观看黄色| 久久亚洲精品成人| www.黄在线观看| 日韩精品免费一线在线观看| av中文字幕免费在线观看| 欧亚一区二区三区| 男人午夜免费视频| 亚洲一本大道在线| 神马久久精品综合| 久久精品一区八戒影视| 黄色av网址在线观看| 国产成都精品91一区二区三| 亚洲18在线看污www麻豆| 日本伊人色综合网| www.国产在线播放| 亚洲电影影音先锋| 一区二区在线观| 日韩一区二区三区免费播放| 色吧亚洲视频| 欧美日韩色图| 日韩在线电影一区| 精品免费视频| 视频在线99re| 成人精品视频| 亚洲国产午夜伦理片大全在线观看网站 | 午夜成年人在线免费视频| 色悠悠国产精品| 在线免费观看黄色av| 一级做a爰片久久毛片美女图片| 欧美成人免费| 亚洲老头同性xxxxx| 少妇性bbb搡bbb爽爽爽欧美| 日韩成人av在线| 五月婷婷丁香花| 日韩av中文字幕在线| 午夜成人鲁丝片午夜精品| 日韩av一卡二卡| 欧美精品久久久久久久久久丰满| 日韩电影中文字幕在线| 亚洲欧洲成人在线| 精品亚洲国产视频| 美国成人毛片| 中国日韩欧美久久久久久久久| 成人在线观看免费| 久久精品国产99国产精品澳门 | 性xxxx搡xxxxx搡欧美| 亚洲国产精品网站| 深夜福利视频在线观看| 亚洲人成在线观| 国产三级视频在线播放线观看| 国产午夜精品全部视频在线播放 | www黄色网址| 精品免费日韩av| 人妻一区二区三区| 亚洲欧美日韩网| 在线视频自拍| 欧美日韩国产成人高清视频| 97在线视频免费观看完整版| 日本精品性网站在线观看| 99蜜月精品久久91| 97人人澡人人爽| 神马日本精品| 亚洲精品久久区二区三区蜜桃臀| 在线成人激情| 精品久久久久久久久久中文字幕| 久久久久国内| 伊人精品视频在线观看| a亚洲天堂av| 91导航在线观看| 亚洲午夜免费视频| 草莓视频18免费观看| 69久久99精品久久久久婷婷| 日本毛片在线观看| 国产一区二区三区在线视频| av片在线观看免费| 欧美在线性爱视频| 亚洲一区二区三区久久久| 国产精品10p综合二区| 国产欧美日韩视频在线| 成年人黄色在线观看| 亚洲精品偷拍| 国产精品嫩草影院8vv8| 不卡的看片网站| 女教师淫辱の教室蜜臀av软件| 夜夜嗨av一区二区三区中文字幕| 一级黄色在线视频| 日韩免费电影网站| 午夜看片在线免费| 欧美亚洲国产成人精品| 自拍偷拍亚洲| 日本午夜精品电影| 亚洲免费精品| www.日本久久| 国产亚洲成年网址在线观看| 欧美日韩在线观看免费| 欧美性生交片4| 天天操天天插天天射| 另类天堂视频在线观看| 欧美国产大片| 国产一区在线观| 欧美~级网站不卡| 天天爽夜夜爽一区二区三区| 91在线视频播放| 欧美成人手机视频| 欧美日韩免费一区二区三区视频| 天堂中文在线资| 久久久久久一区二区三区| 超碰国产精品一区二页| 日产中文字幕在线精品一区| 亚洲深夜激情| 人妻换人妻a片爽麻豆| 亚洲日本va在线观看| 伊人成人在线观看| 国产一区二区三区在线播放免费观看 | 欧美gayvideo| 别急慢慢来1978如如2| 91在线免费播放| 五月天婷婷综合网| 欧美videos中文字幕| 成人国产免费电影| 成人免费网站在线看| 久久国产成人午夜av影院宅| 日本爱爱免费视频| 国产午夜亚洲精品理论片色戒| 天天操天天摸天天干| 亚洲国产日韩欧美在线99| 国产亚av手机在线观看| 都市激情久久久久久久久久久| 综合激情视频| 一本之道在线视频| 亚洲另类色综合网站| 国产伦精品一区二区三区视频痴汉| 最近2019年日本中文免费字幕 | 视频在线观看91| 精品人妻一区二区三区视频| 欧美日韩在线第一页| 日韩一区二区三区中文字幕| 55夜色66夜色国产精品视频| 日本欧美三级| 女人扒开屁股爽桶30分钟| 91捆绑美女网站| 欧美 日韩 精品| 亚洲天堂男人天堂女人天堂| 最新日韩三级| 日韩欧美亚洲在线| 日韩电影免费一区| 日本美女黄色一级片| 91精品在线一区二区| 羞羞的视频在线观看| 国产欧美日韩亚洲| 乱人伦精品视频在线观看| 精品国产成人亚洲午夜福利| 欧美日韩一区二区三区四区五区| 日本高清视频在线播放| 亚洲综合av影视| 亚洲精品韩国| 四季av中文字幕| 337p亚洲精品色噜噜噜| 美女精品导航| 欧美一区二区高清在线观看| 久久精品国产99国产精品| 国产成人综合在线视频| 欧美精品一区二区三区一线天视频| 91色在线看| 色视频一区二区三区| 国产麻豆9l精品三级站| 日韩成年人视频| 色哟哟网站入口亚洲精品| 香蕉大人久久国产成人av| 黄色片久久久久| 亚洲欧洲成人精品av97| 日本黄色一区二区三区| 国产精品h片在线播放| 亚洲欧美网站在线观看| free性中国hd国语露脸| 欧美日韩国产在线播放网站| 韩国日本一区| 亚洲va韩国va欧美va精四季| 国产成人鲁色资源国产91色综| www.国产一区二区| 美女少妇精品视频| 国产免费久久| 91九色蝌蚪porny| 欧美日韩一区二区电影| 黄色在线看片| 一区二区精品免费视频| www.日韩大片| 国产精品视频a| 热久久这里只有精品| 午夜日韩电影| 国产又粗又硬视频| 亚洲精品午夜精品| 99re91这里只有精品| 日本中文字幕观看| 色婷婷久久99综合精品jk白丝|