Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 豆国产93在线|亚洲,国产女人还美的人妖米兰,久久久久久穴

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          創(chuàng)造視覺(jué)魔法:探索 CSS 動(dòng)畫(huà)和轉(zhuǎn)換

          創(chuàng)造視覺(jué)魔法:探索 CSS 動(dòng)畫(huà)和轉(zhuǎn)換

          造視覺(jué)魔法:探索 CSS 動(dòng)畫(huà)和轉(zhuǎn)換

          CSS 動(dòng)畫(huà)和轉(zhuǎn)換是為網(wǎng)頁(yè)添加生動(dòng)和吸引人的效果的關(guān)鍵。本文將引導(dǎo)你學(xué)習(xí)如何使用 CSS 動(dòng)畫(huà)和轉(zhuǎn)換屬性,為你的網(wǎng)頁(yè)增添一份魔法。

          過(guò)渡和動(dòng)畫(huà)

          過(guò)渡動(dòng)畫(huà)是為網(wǎng)頁(yè)元素添加平滑過(guò)渡效果和吸引人動(dòng)畫(huà)的強(qiáng)大方式。

          1. 過(guò)渡屬性:使用transition

          者:alphardex

          鏈接:https://juejin.im/post/5e070cd9f265da33f8653f00


          大きな星を摘んだなら、あなたは大きな富を手に入れる。

          前言

          本文是筆者寫(xiě) CSS 時(shí)常用的套路。不論效果再怎么華麗,萬(wàn)變不離其宗。

          之前發(fā)的CSS 技巧[1]大部分都是依照本文的套路來(lái)寫(xiě)的

          有人問(wèn)我為什么我能想出這么多的動(dòng)畫(huà)?筆者閱番百部,對(duì)常用的動(dòng)畫(huà)技巧了如指掌,同樣那些酷炫的網(wǎng)站只要細(xì)心觀察,也會(huì)給筆者帶來(lái)很多設(shè)計(jì)上的靈感。

          一言以蔽之:只有多欣賞動(dòng)畫(huà),才能寫(xiě)出好的動(dòng)畫(huà)。

          交錯(cuò)動(dòng)畫(huà)

          有時(shí)候,我們需要給多個(gè)元素添加同一個(gè)動(dòng)畫(huà),播放后,不難發(fā)現(xiàn)它們會(huì)一起運(yùn)動(dòng),一起結(jié)束,這樣就會(huì)顯得很平淡無(wú)奇。

          那么如何將動(dòng)畫(huà)變得稍微有趣一點(diǎn)呢?很簡(jiǎn)單,既然它們都是同一時(shí)刻開(kāi)始運(yùn)動(dòng)的,那么讓它們不在同一時(shí)刻運(yùn)動(dòng)不就可以了嗎。如何讓它們不在同一時(shí)刻運(yùn)動(dòng)呢?注意到 CSS 動(dòng)畫(huà)有延遲(delay)這一屬性。舉個(gè)栗子,比如有十個(gè)元素播放十個(gè)動(dòng)畫(huà),將第二個(gè)元素的動(dòng)畫(huà)播放時(shí)間設(shè)定為比第一個(gè)元素晚 0.5 秒(也就是將延遲設(shè)為 0.5 秒),其他元素以此類推,這樣它們就會(huì)錯(cuò)開(kāi)來(lái),形成一種獨(dú)特的視覺(jué)效果。

          這就是所謂的交錯(cuò)動(dòng)畫(huà):通過(guò)設(shè)置不同的延遲時(shí)間,達(dá)到動(dòng)畫(huà)交錯(cuò)播放的效果。

          本 DEMO 地址:Staggered Wave Loading[2]


          用 JS 分割文本

          還有一種經(jīng)常用到的玩法:用 JS 將句子或單詞分割成字母,并給每個(gè)字母加上不同延時(shí)的動(dòng)畫(huà),同樣也很華麗。

          本 DEMO 地址:Staggered LandIn Text[3]


          一般我們都是從第一個(gè)元素開(kāi)始交錯(cuò)的。但如果要從中間元素開(kāi)始交錯(cuò)的話,就要給當(dāng)前元素的延時(shí)各加上一個(gè)值,這個(gè)值就是中間元素的下標(biāo)到當(dāng)前元素的下標(biāo)的距離(也就是下標(biāo)之差的絕對(duì)值)與步長(zhǎng)的乘積,即:delay + Math.abs(i - middle) * step,其中中間元素的下標(biāo)middle=letters.filter(e=> e !=="").length / 2

          本 DEMO 地址:Reveal Text[4]

          所有有交錯(cuò)特性的動(dòng)畫(huà)都在這兒[5]


          隨機(jī)粒子動(dòng)畫(huà)

          說(shuō)到隨機(jī)性,我們可以實(shí)現(xiàn)一種更瘋狂的效果:給幾百個(gè)粒子添加交錯(cuò)動(dòng)畫(huà),并且交錯(cuò)時(shí)間隨機(jī),位置大小也都是隨機(jī)。如此一來(lái)我們就能用純 CSS 模擬出下雪的效果。

          又到了白色相簿的季節(jié)呢~為什么你寫(xiě) CSS 這么熟練啊?

          本 DEMO 地址:Snow (Pure CSS)[6]


          偽類和偽元素

          偽類

          HTML 元素的狀態(tài)是可以動(dòng)態(tài)變化的。舉個(gè)栗子,當(dāng)你的鼠標(biāo)懸浮到一個(gè)按鈕上時(shí),按鈕就會(huì)變成"懸浮"狀態(tài),這時(shí)我們就可以利用偽類:hover來(lái)選中這一狀態(tài)的按鈕,并對(duì)其樣式進(jìn)行改變。

          :hover是筆者最最常用的一個(gè)偽類。還有一個(gè)很常用的偽類是:nth-child,用于選中元素的某一個(gè)子元素。其他的類似:focus、:focus-within等也有一定的使用。

          本 DEMO 地址:Button Hover Border Stroke With Float Text[7]

          所有:hover的動(dòng)畫(huà)都在這兒[8]


          偽元素

          簡(jiǎn)而言之,偽元素就是在原先的元素基礎(chǔ)上插入一個(gè)額外的元素,而且這個(gè)元素不充當(dāng) HTML 的標(biāo)簽,這樣就能保持 HTML 結(jié)構(gòu)的整潔。

          什么情況下用偽元素呢?比如實(shí)現(xiàn)一根條子劃過(guò)文本的動(dòng)畫(huà),在這個(gè)動(dòng)畫(huà)中每個(gè)文本都有屬于自己的一根條子,那么我們就可以用偽元素為每個(gè)文本生成一個(gè)條子,而無(wú)需特地在 HTML 標(biāo)簽中加入條子的 div(當(dāng)然,如果條子數(shù)量超過(guò)了 2 個(gè),還是用 div 吧)

          本 DEMO 地址:Header With Slide Bar[9]


          overflow 障眼法

          之前有做過(guò)閃光按鈕的效果:鼠標(biāo)懸浮按鈕上時(shí)一道光從左到右劃過(guò)去。

          筆者就用漸變來(lái)模擬那道光,通過(guò)transform: translateX()將其平移至右邊。

          但這樣明顯不對(duì)啊,這光為啥能被看見(jiàn)呢?不應(yīng)該把它給"擋"起來(lái)嗎?

          于是乎,給按鈕加上overflow: hidden,光在按鈕外的位置時(shí)就被隱藏起來(lái)了。

          這就是障眼法的力量:)

          本 DEMO 地址:Button Hover Shining[10]

          更多障眼法可以看看這個(gè)作品[11],一次性看個(gè)夠。


          兄弟選擇符定制表單元素

          提示:這里最好將input作為label的子元素,這樣用戶點(diǎn)擊label時(shí)就能傳到input上。

          默認(rèn)的input太丑怎么辦?那就把它先抹掉,用appearance: none或opacity: 0都可以。

          然后,利用兄弟選擇符~來(lái)定制和input相鄰的所有元素(+號(hào)也行,只不過(guò)只能選中最近的元素),例如可以用偽元素生成一個(gè)新的方框代替原先的input,利用偽類:checked和動(dòng)畫(huà)來(lái)表示它被勾選后的狀態(tài),本質(zhì)上還是障眼法哦~

          本 DEMO 地址:Todo List[12]


          CSS 特性

          善用某些 CSS 特性,也可以為你的作品增色不少哦

          transform

          PS 里的自由變換,各種 CSS 動(dòng)畫(huà)都離不開(kāi)它,可以 3D

          例子就不舉了,因?yàn)閹缀跷宜械膭?dòng)畫(huà)都用到了它

          border-radius

          為盒子添加圓角,如果設(shè)定為50%則是圓形,很常用

          不規(guī)則的曲邊形狀

          調(diào)整多個(gè)頂點(diǎn)的border-radius可以做出不規(guī)則的曲邊形狀

          本 DEMO 地址:Nav Tab[13]


          box-shadow

          為盒子添加陰影,增加盒子的立體感,如果多層疊加的話會(huì)使陰影更加絲滑

          本 DEMO 地址:Pagination[14]


          遮罩

          如果給box-shadow的擴(kuò)張半徑設(shè)定足夠大的值,可以用它來(lái)遮住背景,而無(wú)需額外的 div 元素

          本 DEMO 地址:Burger Menu[15]


          text-shadow

          文本陰影,本質(zhì)上和box-shadow相同,只不過(guò)是相對(duì)于文本而言,常用于文本發(fā)光,也可通過(guò)多層疊加來(lái)制作霓虹文本和偽 3D 文本等效果

          本 DEMO 地址:Staggered GlowIn Text[16]


          background-clip:text

          能將背景裁剪成文字的前景色,常用來(lái)和color: transparent配合生成漸變文本

          本 DEMO 地址:Menu Hover Fill Text[17]


          gradient

          漸變可以作為背景圖片的一種,具有很強(qiáng)的色彩效果,甚至可以用來(lái)模擬光

          這個(gè)作品用到了 HTML 的dialog標(biāo)簽,漸變背景,動(dòng)畫(huà)以及overflow障眼法,細(xì)心的你看出來(lái)了嗎:)

          本 DEMO 地址:Confirm Modal[18]


          filter

          PS 里的濾鏡,玩過(guò)的都懂,blur最常用

          backdrop-filter

          對(duì)背景應(yīng)用濾鏡,產(chǎn)生毛玻璃的效果

          本 DEMO 地址:Frosted Glass[19]


          mix-blend-mode

          PS 里的混合模式,常用于文本在背景下的特殊效果

          本 DEMO 地址:Menu Hover Image[20]


          clip-path

          PS 里的裁切,可以制作各種不規(guī)則形狀。如果和動(dòng)畫(huà)結(jié)合也會(huì)相當(dāng)有意思

          本 DEMO 地址:Name Card Hover Expand[21]


          -webkit-box-reflect

          投影效果,不怎么常用,適合立體感強(qiáng)的作品

          本 DEMO 地址:Card Flip Reflection[22]


          彩蛋

          將交錯(cuò)動(dòng)畫(huà)和偽類偽元素結(jié)合起來(lái)寫(xiě)出來(lái)的慎重勇者風(fēng)格的菜單

          本 DEMO 地址:Shinchou Menu[23]


          關(guān)注我

          大家好,這里是 FEHub,每天早上 9 點(diǎn)更新,為你分享優(yōu)質(zhì)精選文章,與你一起進(jìn)步。

          如果喜歡這篇文章,希望大家點(diǎn)贊,評(píng)論,轉(zhuǎn)發(fā)。你的支持,是我最大的動(dòng)力,咱們明天見(jiàn) :)

          關(guān)注 「FEHub」,每天進(jìn)步一點(diǎn)點(diǎn)


          參考資料

          [1]

          CSS技巧: https://juejin.im/post/5e033c946fb9a0164b4ef360

          [2]

          Staggered Wave Loading: https://codepen.io/alphardex/pen/XWWWBmQ

          [3]

          Staggered LandIn Text: https://codepen.io/alphardex/full/KKwvKGY

          [4]

          Reveal Text: https://codepen.io/alphardex/full/eYYMYXJ

          [5]

          這兒: https://codepen.io/alphardex/pens/tags/?selected_tag=staggered

          [6]

          Snow (Pure CSS 'Snow (Pure CSS)''): https://codepen.io/alphardex/full/dyPorwJ

          [7]

          Button Hover Border Stroke With Float Text: https://codepen.io/alphardex/pen/pooYKVa

          [8]

          這兒: https://codepen.io/alphardex/pens/tags/?selected_tag=hover

          [9]

          Header With Slide Bar: https://codepen.io/alphardex/pen/jOEOEzZ

          [10]

          Button Hover Shining: https://codepen.io/alphardex/pen/eYYzXBZ

          [11]

          作品: https://codepen.io/alphardex/pen/VwwVLdM

          [12]

          Todo List: https://codepen.io/alphardex/full/rNNPQwa

          [13]

          Nav Tab: https://codepen.io/alphardex/full/abbWOPR

          [14]

          Pagination: https://codepen.io/alphardex/full/QWwwwpp

          [15]

          Burger Menu: https://codepen.io/alphardex/full/BaaKvVZ

          [16]

          Staggered GlowIn Text: https://codepen.io/alphardex/full/Exxodoq

          [17]

          Menu Hover Fill Text: https://codepen.io/alphardex/full/QWwveZG

          [18]

          Confirm Modal: https://codepen.io/alphardex/full/eYYxzBm

          [19]

          Frosted Glass: https://codepen.io/alphardex/full/pooQMVp

          [20]

          Menu Hover Image: https://codepen.io/alphardex/full/OJPmQGz

          [21]

          Name Card Hover Expand: https://codepen.io/alphardex/full/ZEEBRrq

          [22]

          Card Flip Reflection: https://codepen.io/alphardex/full/ExaZgxp

          [23]

          Shinchou Menu: https://codepen.io/alphardex/full/ExavZdV

          女生總是會(huì)在被求婚的時(shí)候感動(dòng)的痛哭流涕,作為程序員的你如果提前給自己的女票一個(gè)求婚的動(dòng)畫(huà),想象一下她會(huì)不會(huì)很感動(dòng)呢?

          今天就教大家用CSS3來(lái)做一個(gè)求婚的動(dòng)畫(huà)效果吧,源碼已經(jīng)放在了Github上,感興趣的可以認(rèn)真看下源碼,地址如下:

          https://github.com/zhouxiongking/article-pages/tree/master/articles/wedding

          CSS

          實(shí)際效果

          首先我們來(lái)看看實(shí)際運(yùn)行出來(lái)的效果,如下圖所示。

          效果圖

          在整個(gè)效果中,其實(shí)是用到了一系列的圖片,然后控制圖片的出現(xiàn)順序以及出現(xiàn)和結(jié)束的位置。

          在這個(gè)效果中,主要應(yīng)用到的是animation屬性,如果對(duì)這個(gè)屬性還不是很了解的,可以先去學(xué)習(xí)一下。接下來(lái)我們具體分析整個(gè)動(dòng)態(tài)是怎么實(shí)現(xiàn)的。

          頁(yè)面構(gòu)成

          首先,我們看看頁(yè)面的構(gòu)成,包括文字,其他的都是圖片,包括三個(gè)煙花效果,男孩,女孩,男孩手中的花,底部的花。頁(yè)面HTML代碼如下所示。

          頁(yè)面HTML

          文字效果

          文字部分主要是有一個(gè)平移的效果,所以使用translate屬性即可。

          文字部分動(dòng)畫(huà)

          煙花效果

          在文字旁邊的煙花效果實(shí)際是一張圖片從中心點(diǎn)向外的擴(kuò)張,因此可以使用scale屬性實(shí)現(xiàn),然后通過(guò)時(shí)間的不同,來(lái)顯示出不同的煙花。

          煙花效果

          女孩效果

          圖中的女孩實(shí)際是站著不動(dòng),只是通過(guò)改變透明度來(lái)顯示出動(dòng)畫(huà)效果,因此可以使用opacity屬性來(lái)實(shí)現(xiàn)。

          女孩效果

          男孩效果

          圖中的男孩實(shí)際有一個(gè)向女孩移動(dòng)的效果,因此也是通過(guò)translate屬性來(lái)實(shí)現(xiàn)。

          男孩效果

          手中鮮花效果

          男孩手中的鮮花實(shí)際上也是一個(gè)由中心點(diǎn)向外擴(kuò)張的效果,并且改變透明度,通過(guò)scale和opacity屬性實(shí)現(xiàn)。

          手中鮮花效果

          底部鮮花效果

          底部的鮮花實(shí)際是由兩張圖片重復(fù)顯示組成,然后給每張圖片增加一個(gè)動(dòng)畫(huà)效果,從效果圖中可以看出是有一個(gè)從下到上的平移過(guò)程,因此也是使用translate屬性實(shí)現(xiàn)。

          底部鮮花效果

          至此所有的動(dòng)畫(huà)效果都已經(jīng)講解完畢了,雖然每個(gè)動(dòng)畫(huà)只是用到一兩個(gè)屬性,但是組合之后就可以完成這樣一個(gè)小巧的求婚動(dòng)畫(huà),是不是很有趣呢?

          結(jié)束語(yǔ)

          當(dāng)然文中的代碼并不是全部的實(shí)現(xiàn),文中的代碼只包括使用CSS3的動(dòng)畫(huà)效果的實(shí)現(xiàn),全部的代碼可以去Github上去看。

          今天的這篇文章學(xué)會(huì)了嗎?


          主站蜘蛛池模板: 色欲AV蜜桃一区二区三| 亚洲av乱码一区二区三区| 色妞色视频一区二区三区四区 | 亚洲AV无码一区二区三区系列 | 大伊香蕉精品一区视频在线 | 日韩人妻精品一区二区三区视频| 国产一区在线播放| 无码中文字幕乱码一区| 亚洲av成人一区二区三区| 亚洲AV无码一区二区二三区入口| 亚洲爽爽一区二区三区| 日本高清无卡码一区二区久久 | 国产日韩精品一区二区在线观看播放| 无码国产精成人午夜视频一区二区 | 国产欧美一区二区精品仙草咪| 亚洲国产精品综合一区在线| 秋霞午夜一区二区| 日本亚洲成高清一区二区三区| 中文字幕一区二区三区有限公司 | 中文字幕日韩欧美一区二区三区| 亚洲一区二区三区无码国产| 日本无卡码一区二区三区| 国产成人精品久久一区二区三区| 无码精品视频一区二区三区| 99久久精品国产一区二区成人| 无码av免费一区二区三区试看| 亚洲av无码一区二区三区网站| 久久人妻内射无码一区三区| 国产一区二区三区在线2021 | 爆乳熟妇一区二区三区霸乳| 一区二区三区午夜| 日本不卡免费新一区二区三区| 少妇精品久久久一区二区三区| 人妻少妇久久中文字幕一区二区| 伊人久久精品一区二区三区| 乱码人妻一区二区三区| 国产一区二区三区在线免费| 亚洲日本一区二区三区在线不卡| 夜夜添无码一区二区三区| 无码少妇一区二区| 午夜视频一区二区|