前言
CSS是一門很特殊的語言,不像一般的程式語言那樣需要抽象的思維和嚴密的邏輯,它真正需要的是想象力——將你腦中所想的意象用程式碼來表現出來。那麼意象又是如何產生的呢?最常用的方法就是探索和觀察。舉個例子,筆者平時熱愛看番,每看到有意思的場景畫面總會下意識地記錄下來,這對動畫創作會非常有幫助;同樣地,一旦筆者發現一個製作精良的網站,也會將網站上那些吸引人的元素仔細審查一遍,靈感也自然就有了。
演示網址1:codepen
演示網址2:shiroi
原始碼地址:github
本文的技巧將不會止步於72個。靈感不息,創作不止。
注意
相容性
本文的所有技巧都未考慮相容性,因為個人認為相容性是一種束縛,它會妨礙你寫出優秀的作品。如果硬是要考慮的話請自行解決,這個網站或許能幫到你。
框架
本文所用到的技巧皆是SCSS+TypeScript。如果想移植到React或Vue上的話請根據框架本身的特點自行適配。筆者不用這類框架的原因很簡單:框架很容易就會過時,原生CSS+JS才是王道。
教程
筆者實在是不擅長寫這類東西,不過倒是可以把常用的屬性和模式列出來,供大家參考參考。
常用屬性:猛戳這裡
常用模式:猛戳這裡
動畫
利用不同的delay
實現交錯動畫
- Reveal Text
- Staggered Stair Loading
- Staggered Square Loading
- Staggered Wave Loading
- Gleaming Loading
- Particle Burst
- Gleaming Heading
- Staggered Shrinking Loading
- Snow
- Staggered Rise In Text
- Staggered LandIn Text
文字
利用background-clip:text
配合color
實現漸變文字效果
利用動態hsl
顏色實現彩虹文字效果
利用text-shadow
實現發光文字效果
利用text-shadow
實現偽3D文字效果
利用web animation
實現冒泡文字效果
利用動態max-width
實現文字展開效果
利用絕對定位、3D變換和JS實現翻轉文字
視覺
利用backdrop-filter
實現毛玻璃背景效果
利用背景、絕對定位和filter
實現毛玻璃景深效果
利用blur
和contrast
濾鏡實現融合效果
利用元素疊加blur
濾鏡實現日光效果
- Eclipse Loader
- Glowing List Hover
- Glowing Gradient Border
- Glowing Gradient Button
- Crimson Crescent Loading
利用mix-blend-mode:screen
實現文字遮罩效果
利用-webkit-box-reflect
實現倒影效果
頁面
利用3D變換實現視差效果
利用position:sticky
實現粘性滾動效果
利用絕對定位和交錯動畫實現鏡頭拉伸背景效果
利用偽元素、絕對定位和動畫實現滑動幻燈片
元件
利用border-radius
實現曲邊導航欄
利用動畫和絕對定位實現漢堡選單
利用偽元素和動畫實現動態劃線效果
- Menu Hover Underline
- Menu Hover Magnify
- Button Hover Border Stroke With Float Text
- Header With Slide Bar
- Button Hover Multiple Border Stroke