css簡單動畫效果的實現

2021-10-02 17:53:32 字數 1944 閱讀 4421

動畫效果我們可以用js完成也可以用css3新增的動畫完成,不過在工作中建議能用css完成的動畫就用css別用js

畢竟css渲染的效果比js更好

讓我們先來了解下 css中的動畫知識

動畫是使元素從一種樣式逐漸變化為另一種樣式的效果。

您可以改變任意多的樣式任意多的次數。

要建立 css3 動畫,你需要了解 @keyframes 規則。

@keyframes 規則是建立動畫。

@keyframes 規則內指定乙個 css 樣式和動畫將逐步從目前的樣式更改為新的樣式。

keyframes myfirst

to 0% 是動畫的開始,100% 是動畫的完成。

為了得到最佳的瀏覽器支援,您應該始終定義 0% 和 100% 選擇器。

keyframes myfirst

100% 

// 將動畫繫結在 div元素上

div    // 執行 myfirst 動畫 在 5s內完成

也可以階段性表示

@keyframes myfirst

25%

50%

100%

下面的**列出了 @keyframes 規則和所有動畫屬性:

屬性描述

css@keyframes

規定動畫。

3animation

所有動畫屬性的簡寫屬性,除了 animation-play-state 屬性。

3animation-name

規定 @keyframes 動畫的名稱。

3animation-duration

規定動畫完成乙個週期所花費的秒或毫秒。預設是 0。

3animation-timing-function

規定動畫的速度曲線。預設是 "ease"。

3animation-fill-mode

3animation-delay

規定動畫何時開始。預設是 0。

3animation-iteration-count

3animation-direction

3animation-play-state

規定動畫是否正在執行或暫停。預設是 "running"。3

1.完成乙個 正方形在頁面上 形成乙個正方形的移動規則

// div元素

@keyframes translate{       // 定義動畫

0%{background-color: #f00;

left:0;

25%{

background: #0f0;

left:600px;

top:0;

50%{

background: #00f;

left:600px;

top:600px

75%{

background: #ff0;

left:0px;

top:600px;

100%{

background: #f00;

left:0;

top: 0;

div{  // div上應用動畫

width: 200px;

height: 200px;

background-color: #f00;

position: relative;

animation: translate 8s linear 0.5s infinite alternate;// 動畫名稱  持續時間  平滑過渡 延遲5s  迴圈執行動畫  按照原路徑返回

@keyframes xuan{

0% {

transform: rotate(0deg);

100%{

transform: rotate(360deg);

img{

animate:xuan 3s linear 0.5s infinite;   // 頁面載入無限滾動

CSS動畫效果

2d 3d 轉換 1 通過2d 3d 轉換,我們能夠對元素進行移動 縮放 轉動 拉長 拉伸。轉換是使元素改變形狀 尺寸和位置的一種效果,可以使用2d或 3d轉換來轉換元素 2 2d transform 屬性 轉換方法的值 1 translate 水平移動 垂直移動 移動 2 rotate 數字 de...

CSS動畫效果

css變形效果 transform translate 平移 translate x,y translatex x translatey y 相對於元素原始位置平移。scale 縮放 大於1放大,小於1縮小。rotate 旋轉 單位 deg度 grad 梯度 rad 弧度 turn 轉 圈 tran...

css3實現動畫效果

transition property 指定對 html 元素的哪個 css 屬性進行平滑漸變處理。該屬性 可以指定 background color width height 等各種標準的 css 屬性。all代表所有屬性 transition duration 指定屬性平滑漸變的持續時間。tra...