国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

CSS 和 SVG 實(shí)現(xiàn)彩色圖片陰影

開(kāi)發(fā) 前端
首先,單純的 CSS并不能直接做出這種效果,畢竟無(wú)法生成一份相同的圖片,因此,我們需要手動(dòng)創(chuàng)建一個(gè)相同的圖層。

在平時(shí)開(kāi)發(fā)中,有時(shí)候會(huì)碰到這樣的彩色陰影,效果如下:

是不是非常有質(zhì)感?下面分別介紹 CSS 和 SVG 兩種實(shí)現(xiàn)方式,一起看看吧!

一、實(shí)現(xiàn)原理

從設(shè)計(jì)上看,其實(shí)原理很簡(jiǎn)單,一張?jiān)瓐D和一張模糊的圖,疊加在一起就行了,示意如下:

那么具體如何實(shí)現(xiàn)呢?接著往下看。

二、CSS 濾鏡

首先,單純的 CSS并不能直接做出這種效果,畢竟無(wú)法生成一份相同的圖片,因此,我們需要手動(dòng)創(chuàng)建一個(gè)相同的圖層。

假設(shè)HTML如下:

<div class="wrap">
   <img class="cover" src="https://bookcover.yuewen.com/qdbimg/349573/1036370336/180.webp">
</div>

為了節(jié)省 dom,我們可以通過(guò)偽元素的方式來(lái)生成這個(gè)圖片,關(guān)鍵代碼如下:

.wrap{
  position: relative;
  /**/
}
.wrap::before{
  content:'';
  position: absolute;
  background: url("https://bookcover.yuewen.com/qdbimg/349573/1036370336/180.webp");
  transform: translate(10px,10px);
}

稍微給點(diǎn)偏移,這樣得到了兩層圖片。

然后給這個(gè)偽元素設(shè)置模糊濾鏡就行了。

.wrap::before{
  /**/
  filter: blur(12px);
}

這樣就實(shí)現(xiàn)了文章開(kāi)頭效果。

是不是很簡(jiǎn)單呢?

不過(guò)實(shí)際中可以采用 CSS變量的方式,將需要重復(fù)的圖片抽離出來(lái)。

<div class="wrap" style="--bg: url('https://bookcover.yuewen.com/qdbimg/349573/1036370336/180.webp')">
  <img class="cover" src="https://bookcover.yuewen.com/qdbimg/349573/1036370336/180.webp">
</div>

然后CSS就可以保持統(tǒng)一了。

.wrap::before{
  /**/
  background: var(--bg);
}

三、SVG濾鏡

有沒(méi)有發(fā)現(xiàn) 上面這種方式需要手動(dòng)去創(chuàng)建一個(gè)一模一樣的圖層有些多余呢?

確實(shí)是這樣,CSS 目前還無(wú)法直接復(fù)制一個(gè)圖層。

Firefox 中有個(gè)element()方法可以根據(jù)dom生成一份完全相同的圖層,但是僅僅 Firefox 支持:https://developer.mozilla.org/en-US/docs/Web/CSS/element。

那么,還有其他方式嗎?

當(dāng)然也是有了,那就是 SVG濾鏡!

和前面的思路其實(shí)是一致的,先模糊圖層,然后偏移一下,用SVG實(shí)現(xiàn)就是。

<svg width="0" height="0">
  <filter id="natural-shadow-filter">
    <feGaussianBlur stdDeviation="12" />
    <feOffset dx="10" dy="10" />
    <feMerge>
      <feMergeNode />
      <feMergeNode in="SourceGraphic" />
    </feMerge>
  </filter>
</svg>

似乎有些看不懂?沒(méi)關(guān)系,我們一步步分析。

首先f(wàn)ilter就濾鏡的意思,表示整個(gè)就是定義了一個(gè)濾鏡,后面可以給 CSS 直接使用。

接著,feGaussianBlur就是高斯模糊,stdDeviation表示模糊的范圍。

然后,feOffset表示偏移,dx和dy分別是水平和垂直方向的位移。

最后是一個(gè)feMerge標(biāo)簽,這個(gè)表示合并,也就是將多個(gè)濾鏡組合起來(lái),里面的feMergeNode表示每一步濾鏡的結(jié)果。這里有兩個(gè)feMergeNode,第一個(gè)就是前面濾鏡的最終結(jié)果,也就是「模糊」+「偏移」后的效果,第二個(gè)feMergeNode有一個(gè)in參數(shù),表示輸入,這里設(shè)置的是SourceGraphic,表示原始圖像,也就是處理之前的原圖。這里的疊加順序是后來(lái)居上,也就是原圖放在模糊圖之上。

示意效果如下:

最后,我們?cè)贑SS中直接通過(guò) id 引入的方式使用這個(gè)濾鏡就行了。

.wrap{
  filter: url("#natural-shadow-filter");
}

效果如下,和 CSS基本一致。

我們還可以多試幾種其他圖片,下面是 CSS 和 SVG 兩種實(shí)現(xiàn)的效果對(duì)比。

你可以查看以下鏈接

  • CSS & SVG color shadow(code.juejin)[1]
  • CSS & SVG color shadow(codepen.io)[2]

四、總結(jié)一下

以上就是本文的全部?jī)?nèi)容了,主要介紹了 CSS 和 SVG 兩種不同的實(shí)現(xiàn)方式,下面總結(jié)一下

  • 彩色陰影其實(shí)原理很簡(jiǎn)單,一張?jiān)瓐D和一張模糊的圖,疊加在一起就行了。
  • CSS無(wú)法直接創(chuàng)建一個(gè)完全相同的圖層,需要手動(dòng)去創(chuàng)建。
  • 手動(dòng)去創(chuàng)建一個(gè)一模一樣的圖層有些多余,而SVG可以自動(dòng)生成多份。
  • SVG可以將多個(gè)效果通過(guò)feMerge進(jìn)行疊加,順序是后來(lái)居上,SourceGraphic表示原始圖像。
  • CSS可以通過(guò)url(#id)的方式引入SVG濾鏡。

當(dāng)然,SVG的潛力遠(yuǎn)不僅如此,在圖像處理方面,SVG有著無(wú)可比擬的優(yōu)勢(shì),CSS 濾鏡可以稱(chēng)之為“殘血版”濾鏡,很多效果還是需要SVG出馬,以后還會(huì)介紹更多實(shí)用場(chǎng)景。

[1]CSS & SVG color shadow (code.juejin): https://code.juejin.cn/pen/7328684301011124260。

[2]CSS & SVG color shadow (codepen.io): https://code.juejin.cn/pen/7328684301011124260。

責(zé)任編輯:姜華 來(lái)源: 前端偵探
相關(guān)推薦

2022-11-14 11:41:13

SVG開(kāi)發(fā)組件

2021-02-26 20:01:57

SVG濾鏡元素

2013-01-30 15:37:19

CSS著色器HTML5

2021-01-28 14:13:40

CSS3陰影元素

2010-09-13 10:23:06

CSS

2022-03-11 07:22:20

CSS陰影基礎(chǔ)前端

2021-09-30 08:25:28

CSS 技巧酷炫線條光影

2024-04-08 09:11:13

SVG前端CSS

2024-05-16 10:35:09

SVGCSS背景平鋪

2022-02-28 07:02:51

CSS二維碼前端

2022-11-28 17:22:02

CanvasCSS

2023-03-27 09:25:21

CSS自定義彩色字體

2021-02-21 07:49:40

Web動(dòng)畫(huà)SVG線條動(dòng)畫(huà)

2010-09-07 16:11:55

CSS Sprites

2022-06-23 06:42:06

CSSJS 監(jiān)聽(tīng)

2011-04-18 17:17:45

CSSweb開(kāi)發(fā)

2010-09-09 10:15:35

DIVCSS

2010-09-09 14:21:27

CSS盒模型

2017-10-10 15:52:17

前端FlexboxCSS Grid

2012-03-15 17:10:58

激光打印機(jī)推薦
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲欧洲二区| 国产在线视频2019最新视频| 久久人人爽亚洲精品天堂| 久久亚洲高清| hd国产人妖ts另类视频| 日韩激情一区二区| 欧美一区二区三区视频在线 | 欧美午夜女人视频在线| 国产精品久久久久久搜索| 狠狠狠综合7777久夜色撩人| 亚洲综合电影| 国产精品毛片在线| 亚洲精品一区二区三区在线观看| 亚洲视频资源在线| 日本免费观看网站| 国产精品久久久久久搜索| 午夜网站在线观看| 综合亚洲色图| 一区二区三区在线播放欧美| 亚洲欧洲另类精品久久综合| 国产一区二区三区不卡在线| 亚洲网色网站| 日韩理论在线观看| 女同一区二区| 国产福利亚洲| 最近在线中文字幕| 国产久一道中文一区| 亚洲欧美电影| 亚洲欧美二区三区| 99.玖玖.com| 精品91久久久久| 日韩精品一区在线| 在线视频福利一区| 欧美性片在线观看| 精品国产一区二区精华| 在线不卡日本| 麻豆一区二区| 日韩的一区二区| 欧美日韩国产色视频| 99在线视频播放| 99热这里只有精品8| 国产91精品久久久久久久网曝门| 欧美重口乱码一区二区| 永久免费在线| 亚洲国产欧美另类丝袜| 亚洲欧美99| 美女91精品| 亚洲一区二区三区在线免费观看| 日本免费一区二区六区| 一区二区亚洲精品国产| 日韩成人三级| 精品成人在线| 免费在线观看视频a| 你微笑时很美电视剧整集高清不卡 | 懂色中文一区二区在线播放| 91精彩视频在线观看| 国产一区二区区别| 校园春色 亚洲色图| 欧美日韩一区二区三区在线免费观看| 四虎在线免费看| 色综合久久悠悠| 久草在线资源福利站| 色综合久久天天综线观看| 艳色歌舞团一区二区三区| 懂色av噜噜一区二区三区av| 色综合97天天综合网| 欧美日韩精品二区第二页| 欧美韩国亚洲| 国产一区二区在线免费视频| 久久91精品久久久久久秒播 | 一本久道久久久| 男女视频网站在线观看| 欧美午夜一区二区| 欧美一级片网址| 精品国产乱码久久久久久108| 91香蕉视频在线| www.av在线| 欧美肥臀大乳一区二区免费视频| 99国产精品视频免费观看一公开 | 国产亚洲欧美在线视频| 日韩欧美在线国产| 欧美色片在线观看| 99re国产| 中文字幕高清一区| 日本aa在线| 国产精品wwwwww| 国产91露脸合集magnet| av在线电影网| 日本午夜人人精品| 成人av在线播放网站| 妓院一钑片免看黄大片| 久久久国产精品亚洲一区| 中文字幕一区二区三区欧美日韩| 日韩高清dvd| 成人欧美一区二区三区视频网页 | 七七久久电影网| 日韩欧美国产一区二区三区| 韩国三级在线观看久| 欧美高清激情brazzers| 给我免费播放日韩视频| 在线看成人av电影| 日韩精品在线播放| 最新热久久免费视频| 在线免费高清一区二区三区| 中文字幕亚洲二区| 国产精品888| 欧美成人首页| 玖玖玖电影综合影院| 国产女主播在线直播| 激情视频综合网| 香蕉视频在线网址| 国产富婆一区二区三区| 147欧美人体大胆444| 国产精品成av人在线视午夜片| 精品成人佐山爱一区二区| 国产电影精品久久禁18| 青青青草视频在线| www.在线观看av| 久久精品国产免费观看| 一区二区三区四区不卡视频| 亚洲三级精品| 成人免费高清观看| 国产精品视频一区二区图片| 成人免费激情视频| 精品福利av导航| 成人av电影在线网| 免费观看在线一区二区三区| 国产精品国产对白熟妇| 亚洲一区二区三区加勒比| 高清欧美一区二区三区| 久久久久久电影| 手机在线免费av| 99国产在线视频| 久久亚洲精精品中文字幕早川悠里| 日韩毛片在线免费看| 欧美视频日韩视频在线观看| 欧美日韩黑人| 999久久久精品一区二区| 日本美女高清在线观看免费| 亚在线播放中文视频| 在线免费看黄av| 中国色在线观看另类| 不卡的电视剧免费网站有什么| 国产成人综合在线| 9i在线看片成人免费| 91网站最新网址| 亚洲欧美日韩综合aⅴ视频| 26uuu国产日韩综合| 国产精品美女一区二区三区| 色综合久久中文字幕| 精品亚洲一区二区三区在线播放 | 激情影院在线| 别急慢慢来1978如如2| 免费看成人片| 国产九色91| 国产亚洲自拍偷拍| 久久久久久久久久亚洲| 污污网站免费观看| 国产成人精品在线| 在线观看亚洲一区| 国产欧美高清| 综合另类专区| 亚洲精品怡红院| 91精品中文在线| 精品嫩草影院久久| 91美女视频网站| sdde在线播放一区二区| 国产传媒在线播放| 国产主播一区二区| 日韩vs国产vs欧美| 欧美军人男男激情gay| 久艹在线免费观看| 久久久久国产视频| 欧美日韩国产在线看| 日韩不卡一区二区三区| 精品国产乱码久久久久久樱花| aaaaa毛片| 国产亚洲一区二区三区在线播放 | 99草草国产熟女视频在线| 国产精品亚洲第一区| 日韩写真欧美这视频| 91在线高清观看| 我不卡神马影院| 亚州一区二区三区| 中文字幕在线资源| 五月天综合婷婷| 国产精品久久久久久久久久ktv| 日韩精品中文字幕在线一区| 中文在线资源观看网站视频免费不卡| 一区二区三区四区电影| 日本在线中文字幕一区二区三区| 全部孕妇毛片丰满孕妇孕交| 一区二区三区四区欧美| 国产97在线|亚洲| 国产丝袜一区二区三区| 亚洲国产另类精品专区| 国产成人免费视频一区| 色777狠狠狠综合伊人| 国产欧美在线观看免费| chinese偷拍一区二区三区|