超級簡單CSS專案,懸停過渡動畫三部曲
CSS不一定要寫得多麼複雜才能實現特殊效果。如下就是三個超級簡單的過渡的例子,可能只是幾行程式碼,但是新增到Web應用程式中,卻會讓它增色不少。
如下是我們將在本教程中構建的程式碼
如果你依然在程式設計的世界裡迷茫,不知道自己的未來規劃,可以加入web前端學習交流秋秋圈:767273102 裡面可以與大神一起交流並走出迷茫。新手可免費領取學習資料,看看前輩們是如何在程式設計的世界裡傲然前行不停更新最新的教程和學習方法(詳細的前端專案實戰教學視訊),有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入
專案設定
在這個專案中,我們將把過渡效果應用到一個class為box的元素上面。這個box元素內部是垂直和水平居中的文字內容。HTML結構相當簡單:
<div class='box'> <p>TEXT</p> </div>
CSS程式碼也一樣簡單。我們想要使用無襯線字型,並確保div中的段落文字是白色的,可以通過如下程式碼來實現:
body { color: white; font-family: Helvetica, Sans-Serif; }
另外,給box元素新增如下CSS屬性:
.box { width:200px; /* Set the Width of box */ height:50px; /* Set the Height of box */ background:#424242; /* Dark Grey Background color */ transition:all 0.25s ease; /* Transition settings */ display: flex; /* Use Flexbox on P */ align-items: center; /* Center P */ justify-content: center; /* Center P */ margin: 10px; /* Apply a margin around our Box */ }
- 無論你對CSS的過渡屬性熟悉與否,我們在這裡都來簡要介紹一下,一共分為三步。.第一步,我們需要將它應用到all變化的屬性。接下來,設定過渡時長為0.25秒。最後,將動畫函式選為ease。ease的表現狀態就是起止過程比較緩慢,中間過渡迅速。
holly high! 目前準備工作都已經就緒,接下來就是新增過渡效果了。到目前為止,div看起來應該像下面這樣。
- 褪色效果
首先,新增一個褪色的過渡。新建一個div元素,併為它新增一個名為fade的類:
<div class='box fade'> <p>FADE HERE</p> </div>
接下來我們所需要做的就是為這個fade類指定懸停規則。我們需要藉助CSS偽類選擇器:hover來完成這件事情。這個偽類選擇器對所有的元素都有效,並且會在元素處於滑鼠指標懸停狀態下的時候啟用CSS宣告。基於此,我們藉助:hover選擇器將div的透明度改為0.5:
.fade:hover { opacity: 0.5; }
簡單吧。上面這句CSS宣告就為div指定了一個懸停效果。如下就是目前它展現的樣子。而你之所以能夠看到過渡樣式,是因為我們一開始在名為box的類中使用了transition:all 0.25s ease;的宣告。看下面,是不是一個還不錯的褪色效果:
2.來點顏色看看
指定一個變色過渡其實和褪色過渡的過程異曲同工。首先,建立一個div元素,併為它新增一個名為color的類。
<div class='box color'> <p>COLOR HERE</p> </div>
同樣地,我們也要藉助:hover選擇器來幫我們完成這件事,但是這一次我們不是改變透明度而是背景色:
.color:hover { background: #FF5722; }
如下就是實際效果了:
3.一起搖擺
接下來,來實現一個擺動的效果。這個效果實現起來比前面的兩個例子稍顯複雜。在這個例子中,我會採用@keyframes來完成。
@keyframes——賦予你在一個CSS動畫序列中控制中間步驟的魔力。
首先還是一樣,你肯定已經聽煩了,建立一個div元素,並未它新增一個名為wiggle的類:
<div class='box wiggle'> <p>WIGGLE WIGGLE</p> </div>
接下來,我們要做的就是藉助@keyframes來建立動畫。我們先給動畫起個名字,就叫wiggle吧。並在如下的程式碼中新增抖動效果的實現:
@keyframes wiggle { 20% { transform: translateX(4px); } 40% { transform: translateX(-4px); } 60% { transform: translateX(2px); } 80% { transform: translateX(-1px); } 100% { transform: translateX(0); } }
從上面的程式碼已經可以看出,@keyframes賦予我們將動畫分解成單步,並且精確定義每一步發生了什麼的能力。通過百分比的方式指定動畫的進度:
- 20%——div相對於初始位置右移4px。
- 40%——div相對於初始位置左移4px。
- 60%——div相對於初始位置右移2px。
- 80%——div相對於初始位置左移1px。
- 100%——div恢復到初始位置。
現在我們就能借助:hover選擇器來展示wiggle的動畫了:
.wiggle:hover { animation: wiggle 1s ease; animation-iteration-count: 1; }
我們將animation設定成wiggle。同時希望動畫持續1秒的時長,採用ease的動畫效果。
最後,就是指定動畫在每次滑鼠指標懸停的時候觸發一次。
下圖就是最終的動畫效果:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2642846/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 送給CSS初學者的懸停過渡動畫三部曲CSS動畫
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- CSS 炫酷文字過渡動畫CSS動畫
- CSS3-過渡、變形、動畫CSSS3動畫
- Vue - 使用 transition 過渡動畫、Animate.css 庫動畫Vue動畫CSS
- CSS 奇技淫巧:動態高度過渡動畫CSS動畫
- CSS 如何讓auto height完美支援過渡動畫?CSS動畫
- 【動畫消消樂|CSS】086.炫酷水波浪Loading過渡動畫動畫CSS
- CSS hover改變背景圖片過渡動畫生硬CSS動畫
- css揭祕實戰技巧 - 過渡與動畫[七]CSS動畫
- CSS3的過渡,動畫,圖形轉換CSSS3動畫
- CSS神奇的卡片懸停互動效果CSS
- js css滑鼠懸停顯示下拉選單JSCSS
- Vue實列之過渡和動畫,標籤過渡,多元件過渡,列表過渡Vue動畫元件
- CSS 小結筆記之變形、過渡與動畫CSS筆記動畫
- 從傳統動畫到react動畫過渡動畫React
- [譯] WindowsInsets 和 Fragment 過渡動畫WindowsFragment動畫
- Flutter 建立自定義路由過渡動畫Flutter路由動畫
- 在 Flutter 新增頁面過渡動畫Flutter動畫
- 第4章 Vue 過渡和動畫Vue動畫
- Android專案總結(3)-登入頁圖片迴圈過渡播放動畫效果Android動畫
- 通過示例瞭解Vue過渡和動畫Vue動畫
- CSS滑鼠懸浮圖片動畫放大效果CSS動畫
- app直播原始碼,css給數字或文字在滑鼠懸停時新增下劃線動畫APP原始碼CSS動畫
- CSS 動畫專題CSS動畫
- CSS3滑鼠懸浮動畫按鈕效果CSSS3動畫
- CSS3連結<a>滑鼠懸浮動畫效果CSSS3動畫
- 四個基本的JavaScript函式來馴服CSS3過渡和動畫(JavaScript函式CSSS3動畫
- CSS 文字陰影 text-shadow 懸停效果CSS
- 使用CSS background實現炫酷懸停效果CSS
- 每日CSS_霓虹燈按鈕懸停效果CSS
- 【C#入門超簡單】簡單的專案實踐C#
- HTML5與CSS3中滑鼠懸停會有下拉選單HTMLCSSS3
- MaterialDesign系列文章(三)過渡動畫的實現動畫
- vue.js - 過渡&動畫 - 無效情況Vue.js動畫
- [iOS]過渡動畫之入門模仿系統iOS動畫
- 過渡和動畫的區別是什麼?動畫
- Vue.js 動畫與過渡效果實戰Vue.js動畫