在CSS動畫中,使用Transition技術是一種「隱式」的動畫方法,而相對應的,還有一種「顯式」的動畫技術,就是,你可以在CSS裡直接指定動畫效果,這需要使用keyframes 屬性了。
示範:秋葉飄落動畫
上面這個」秋葉飄落動畫」的CSS動畫示範應該是十分的精彩,充分展現了CSS動畫的優異特性。
下面我們來一步一步介紹如何製作 keyframes 動畫,先從一個會彈跳的盒子入手。
示範:會彈跳的盒子
用CSS宣告這樣的動畫效果非常簡單。首先,用 @keyframes 描述動畫效果規則。
@keyframes bounce { from { left: 0px; } to { left: 200px; } }
在一個 @keyframes 程式碼區塊裡,包含一系列的CSS規則,統稱為 keyframes。 一個 keyframe 定義了一個完整動畫裡某一時刻的動畫樣式。動畫繪製引擎會連貫且平滑的實現各種樣式間的轉換。在上面的定義為 “bounce” 的動畫中,有兩個 keyframes: 一個是動畫的起始狀態( “from” 程式碼區塊) 和終止狀態 ( “to” 程式碼區塊)。
一旦定義完成了動畫後,我們就可以使用 animation-name 將其與動畫目標元素關聯起來。
p { animation-name: bounce; animation-duration: 4s; animation-iteration-count: 10; animation-direction: alternate; }
上面的這段CSS規則中就綁定了 “bounce” 動畫,而且還設定了動畫持續時間為 4 秒鐘,一共執行10次,而且間隔著反向執行一次。
下面,我們要製作一個更複雜的動畫,涉及旋轉、背景色、透明度等技術,需要用到多個 keyframes。
@keyframes pulse { 0% { background-color: red; opacity: 1.0; transform: scale(1.0) rotate(0deg); } 33% { background-color: blue; opacity: 0.75; transform: scale(1.1) rotate(-5deg); } 67% { background-color: green; opacity: 0.5; transform: scale(1.1) rotate(5deg); } 100% { background-color: red; opacity: 1.0; transform: scale(1.0) rotate(0deg); } } .pulsedbox { animation-name: pulse; animation-duration: 4s; animation-direction: alternate; animation-timing-function: ease-in-out; }
這裡的Keyframes使用了百分比,分別表示動畫的各個階段的動作場景。而之前的 “from” 和 “to” 關鍵字其實等效於 “0%” 和 “100%” 。
CSS Keyframes動畫的目的是提供WEB開發者更簡單的創作豐富多彩的頁面效果的途徑。大多數的動畫效果都是表現性質的,因此屬於瀏覽器樣式系統。程式設計師透過簡單的聲明樣式就能創造出這些效果動畫,完全取代了先前用JavaScript技術手工的實作。
【相關推薦】
1. 免費css線上影片教學
2. css線上手冊
#以上是CSS Keyframes動畫實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版