日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > HTML >内容正文

HTML

css两张图片怎么合在一起_web前端入门到实战:纯CSS实现两个球相交的粘粘效果...

發(fā)布時(shí)間:2025/3/11 HTML 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 css两张图片怎么合在一起_web前端入门到实战:纯CSS实现两个球相交的粘粘效果... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是一個(gè)純粹利用CSS所做出來的效果,這個(gè)效果說穿了就是一個(gè)圖像處理的原理,做法跟Photoshop里頭的幾乎一模一樣,只是一個(gè)用圖層和色版來制作,一個(gè)則是用CSS(把div當(dāng)成圖層思考就好了)。

從PhotoShop開始

一開始我們來玩Photoshop,會(huì)比直接寫CSS來得容易理解(沒有Photoshop的人也沒關(guān)系,看完說明也就懂了),首先我們新增兩個(gè)圖層,一個(gè)里頭放上紅色的小球,另外一個(gè)里頭放上黑色的大球。

接著我們使用高斯模糊的濾鏡,分別把小紅球和大黑球模糊。

再來我們新增一個(gè)“亮度與對(duì)比”的調(diào)整圖層,勾選使用舊版,然后把對(duì)比數(shù)值往上拉,你就會(huì)看到神奇的現(xiàn)象。

拉到邊緣不再模糊之后,你就可以用鼠標(biāo)嘗試著把紅球移動(dòng),就會(huì)發(fā)現(xiàn)紅球與黑球交界的地方變成粘粘的效果心,這就是我們要做的效果!

就這樣,你已經(jīng)知道如何用Photoshop來制作,同理,CSS也是用同樣的方法,只是把圖層換成了div而已,就這么簡(jiǎn)單。

CSS效果

首先我在HTML里頭,放上一個(gè)class為redball的div當(dāng)作紅球,class為blackball的是黑球,這就是剛剛在PhotoShop里頭的兩個(gè)圖層,接著在最外圍放上一個(gè)class為effect的div,這就是我們的調(diào)整圖層,完成后HTML代碼的長(zhǎng)相應(yīng)該是這樣:

<div class="effect"><div class="blackball"></div><div class="redball"></div> </div>

只要對(duì)blackball和redball加入模糊的濾鏡,對(duì)effect加入對(duì)比的濾鏡,就能夠達(dá)到Photoshop里面的特效,而模糊的濾鏡必須使用filter:blur(數(shù)值),對(duì)比則使用filter:contrast(數(shù)值)。

CSS的長(zhǎng)相會(huì)長(zhǎng)這樣:

.effect{width:100%;height:100%;padding-top:50px;filter:contrast(10);background:#fff; } .blackball{width:100px;height:100px;background:black;padding:10px;border-radius:50%;margin:0 auto;z-index:1;filter:blur(5px); } .redball{width:60px;height:60px;background:#f00;padding:10px;border-radius:50%;position:absolute;top:70px;left:50px;z-index:2;filter:blur(5px) ;animation:rball 6s infinite; }

忽略CSS里頭那些定位數(shù)值,里頭blur的數(shù)值設(shè)為5px,contrast的數(shù)值設(shè)為10,就可以看到紅求黑球粘在一起了,至于該怎么讓他們動(dòng)起來呢?就要使用CSS3的animation,animation的程序如下:

@keyframes rball{0%,100%{left:35px;width:60px;height:60px;}4%,54%{width:60px;height:60px;}10%,60%{width:50px;height:70px;}20%,70%{width:60px;height:60px;}34%,90%{width:70px;height:50px;}41%{width:60px;height:60px;}50%{left:calc(100% - 95px);width:60px;height:60px;} }

這里的keyframe寫了很多,因?yàn)橐尲t球進(jìn)入黑球時(shí),水平方向會(huì)被壓縮一下,然后再離開黑球的時(shí)候,水平方向會(huì)被拉長(zhǎng),如此一來才會(huì)更像有粘性的感覺,為了測(cè)試這個(gè)效果,可真是煞費(fèi)我的苦心呀!(不過這里有個(gè)要注意的地方,由于位置上會(huì)自動(dòng)去計(jì)算,所以要測(cè)試的話,最外層的effect寬度記得設(shè)為320px)

完成紅球之后,要讓兩顆藍(lán)色球合在一起再分開,也是同樣的原理,下方列出兩顆藍(lán)色球的CSS,比較需要注意的地方是我讓藍(lán)色球合體之后會(huì)變大一些,分開的時(shí)候也會(huì)拉長(zhǎng)。

.blueball1{width:80px;height:80px;background:#00f;padding:10px;border-radius:50%;position:absolute;top:230px;left:0;z-index:2;filter:blur(8px) ;animation:bball1 6s infinite; } .blueball2{width:80px;height:80px;background:#00f;padding:10px;border-radius:50%;position:absolute;top:230px;left:240px;z-index:2;filter:blur(8px) ;animation:bball2 6s infinite; } @keyframes bball1{0%,100%{left:0;top:230px;width:80px;height:80px;}20%{top:230px;width:80px;height:80px;}85%{top:230px;left:75px;width:90px;height:70px;}90%{top:228px;width:75px;height:85px;}50%{top:215px;left:110px;width:110px;height:110px;} } @keyframes bball2{0%,100%{left:240px;top:230px;width:80px;height:80px;}20%{top:230px;width:80px;height:80px;}85%{top:230px;left:165px;width:90px;height:70px;}90%{top:228px;width:75px;height:85px;}50%{left:110px;top:215px;width:110px;height:110px;} }

就這樣,單純利用CSS就完成了一個(gè)粘粘的效果,坦白說我也不太清楚這個(gè)效果可以用在哪里,不過如果用在水底世界或一些loading的特效,應(yīng)該是相當(dāng)不賴的!

實(shí)戰(zhàn)操作代碼解析,更多web前端實(shí)戰(zhàn)操作,學(xué)習(xí)指導(dǎo),學(xué)習(xí)資源,點(diǎn):前端技術(shù)分享

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的css两张图片怎么合在一起_web前端入门到实战:纯CSS实现两个球相交的粘粘效果...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。