今天要給大家分享10款精美的HTML5圖片輪播/切換動畫,這些動畫每一個都有自己的特點,不管你是PC端的網頁,還是移動端的H5應用,都可以嘗試使用這些動畫來提高應用的用戶體驗。
?PS:請你耐心看完,文末我提供了所有動畫的源碼打包下載鏈接,如果你喜歡這些動畫,可以按需下載,希望對你有所幫助。
這是一個簡約而實用的JS畫廊相冊組件,它的特點是可以添加無限多張相片,并且支持水平無限循環滑動。另外它還支持對畫廊中的相片進行展開和折疊,并同時動態展示相片的標題和描述。這款相冊組件主要采用了jQuery插件以及CSS3的過渡動畫特性,使用起來十分方便。
這是一個基于TweenMax動畫庫的圖片碎裂切換動畫,它的特點是點擊圖片時,圖片就會像玻璃那樣碎裂成許多塊,然后漸漸地消失,直到下一張圖片顯示為止。這款圖片碎裂動畫也可以應用在焦點圖的切換動畫中,效果非常不錯。
Swiper.js是一個流行的移動端輪播圖插件,它提供了豐富的功能和配置項。這款圖片滑塊動畫就是基于Swiper.js實現的,它的特點是圖片切換的時候,圖片上方將會出現白色背景的視差效果圖層,并且它可以適配不同的瀏覽器尺寸。
這又是一個非常酷的HTML5 Canvas圖片切換動畫,它是基于知名3D動畫庫threejs實現的。在圖片切換過程中,你也可以通過鼠標拖動來查看切換時的具體細節效果。如果將它制作成一個效果非常獨特而華麗的相冊或者焦點圖插件,相信會很不錯的。
這是一個純CSS實現的手風琴特效的圖片切換動畫,它的特點是采用了CSS濾鏡特效,首先將原圖通過濾鏡變換成黑白樣式,鼠標滑過激活圖片后,再將黑白圖轉換成原圖,從而實現圖片高亮的效果。
這同樣是一款手風琴特效的圖片切換動畫,它基于jQuery開發,是一款非常不錯的jQuery圖片輪播插件。它的特點是支持自動播放,使用簡單,對于一些商品展示的站點或者app,比較適合使用。
這是一款采用SVG遮罩來實現波浪樣式的圖片切換動畫。所有的圖片采用背景圖片的方式,圖片上方定義SVG圓形路徑,通過對圓形svg路徑的樣式渲染,實現波浪切換的動畫效果。
Slicebox是一款基于jQuery的圖片切換插件,盡管jQuery在新的web系統中使用越來越少,但我們依然可以使用它的強大插件來豐富我們現有的網站。這款圖片切換插件的特點是播放上一張或下一張圖片時,圖片會出現水平分裂或垂直分裂的3D視覺效果。
這款jQuery圖片切換插件擁有簡單的使用方法和靈活的擴展方式,支持單頁面多實例,并且可適配不同的屏幕尺寸。另外通過配置,我們可以讓圖片切換組件支持自動播放、顯示切換按鈕、鼠標滑過放大圖片等特性。
這是一款純CSS實現的圖片滾動特效,它的特點是我們可以通過滾動瀏覽器的橫向滾動條,可以讓圖片進行水平切換滾動。另外圖片排列呈現3D投影的視覺效果,同時也可以在移動端通過手指滑動來實現圖片的橫向滾動瀏覽。
著css3實現各種炫酷動畫效果越來越流行。今天給大家推薦一些css3和SVG實現loading加載動畫效果。
先上一波令人愉悅的動畫效果。
怎么樣,是不是感覺很nice,那就繼續往下看吧。這里為大家整理了一些不錯的效果。
簡單酷炸的css3效果,可一鍵復制css樣式。
# 演示地址
https://cssfx.lovejade.cn/
# github地址
https://github.com/TheHumanComedy/cssfx
一個超棒的svg實現loading動畫效果。
# 演示地址
http://samherbert.net/svg-loaders/
# github地址
https://github.com/SamHerbert/SVG-Loaders
非常棒的一款CSS3加載動畫集合。star高達17.4K+。
# 演示地址
https://tobiasahlin.com/spinkit/
# github地址
https://github.com/tobiasahlin/SpinKit
一款有趣的單元素CSS3加載器。
# 演示地址
https://projects.lukehaas.me/css-loaders/
# github地址
https://github.com/lukehaas/css-loaders
基于canvas實現的loading效果。
https://github.com/padolsey/sonic.js
一組很酷的css3加載動畫效果。
# 演示地址
https://codepen.io/Beaugust/pen/DByiE
有一組優秀的CSS3動畫效果。
# 演示地址
https://codepen.io/viduthalai1947/pen/JkhDK
一組SVG實現加載動畫效果。
# 演示地址
https://codepen.io/aurer/pen/jEGbA
好了,就介紹到這里。希望對大家有所幫助!
SS3 Animations
1 @keyframes屬性
@keyframes 動畫名稱{關鍵幀持續時間% {css樣式;}}
@keyframes myanimation
{
0% {top:0px;background-color:#0000cc;}
50% {top:100px;background-color;#339900;}
100% {top:0px;background-color:#330000;}
}
2 animation屬性
animation: name duration timing-function delay iteration-count direction;
animation-name 規定需要綁定到選擇器的 keyframe 名稱。。
animation-duration 規定完成動畫所花費的時間, 以秒或毫秒計。
animation-timing-function 規定動畫的速度曲線。
linear 動畫從頭到尾的速度是相同的。
ease 默認。動畫以低速開始, 然后加快, 在結束前變慢。
ease-in 動畫以低速開始。
ease-out 動畫以低速結束。
ease-in-out 動畫以低速開始和結束。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數中自己的值。可能的值是從 0 到 1 的數值。 參考地址: http://cubic-bezier.com/#.17,.67,.83,.67
animation-delay 規定在動畫開始之前的延遲。以秒或毫秒計, 默認值是 0。
animation-iteration-count 規定動畫應該播放的次數。
n 定義動畫播放次數的數值。
infinite 規定動畫應該無限次播放。
animation-direction 規定是否應該輪流反向播放動畫。
normal 默認值。動畫應該正常播放。
alternate 動畫應該輪流反向播放。
使用方法一: from...to...
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background-color: orange;
}
/*div:hover{
width: 800px;
}*/
/*@keyframes 動畫名{
from{
動畫第一步(這里你可以不寫他會繼承上面的)
}
to{
動畫最后一步
}
}*/
/*動畫聲明*/
@keyframes widthChange{
/*from{
width: 100px;
}*/
to{
width: 800px;
}
}
div{
/*animation: 動畫名稱 過渡總時長;*/
animation: widthChange 1s;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
使用方法二: 百分比
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background-color: orange;
position: absolute;
left: 0;
top: 0;
}
/*動畫聲明*/
@keyframes positionChange{
/*from{
left: 0;
}
to{
left: 800px;
}*/
/*百分數評分的的過渡總時長*/
0%{
left: 0;
top: 0;
}
50%{
left: 800px;
top: 0;
}
100%{
left: 800px;
top: 500px;
}
}
div{
/*animation: 動畫名稱 過渡總時長;*/
animation: positionChange 10s;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
使用方法三: animation參數格式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background-color: orange;
}
@keyframes widthChange{
to{
width: 800px;
}
}
div{
/*
* 動畫名稱
* 動畫總時長s ms
* 動畫形式ease ease-in ease-out ease-in-out linear 貝塞爾曲線、
* 延遲時間s ms
* 循環次數①阿拉伯數字②infinite(無限次)
* 停留到最后一幀forwards
* 反向播放動畫alternate(來回當做2次處理) normal 正常
*
* */
animation: widthChange 5s;
}
div:hover{
/*動畫停止*/
animation-play-state: paused
}
</style>
</head>
<body>
<div></div>
</body>
</html>
建立3D場景
transform-style 屬性規定如何在 3D 空間中呈現被嵌套的元素。
注釋:該屬性必須與 transform 屬性一同使用。
flat 子元素將不保留其 3D 位置。
preserve-3d 子元素將保留其 3D 位置。
transform-style: flat|preserve-3d;
perspective 屬性定義 3D 元素距視圖的距離, 以像素計。該屬性允許您改變 3D 元素查看 3D 元素的視圖。
當為元素定義 perspective 屬性時, 其子元素會獲得透視效果, 而不是元素本身。
注釋:perspective 屬性只影響 3D 轉換元素。
perspective: number|none;
景深:
perspective是設置3d效果的景深, 通俗來說就是設置你的眼睛與這個3d元素的距離。
而生活經驗告訴我們, 你從遠處和近處分別觀察同一個物體(比如正方形)時, 其3d效果肯定是不同的。
perspective-origin 屬性定義 3D 元素所基于的 X 軸和 Y 軸。該屬性允許您改變 3D 元素的底部位置。
當為元素定義 perspective-origin 屬性時, 其子元素會獲得透視效果, 而不是元素本身。
注釋:該屬性必須與 perspective 屬性一同使用, 而且只影響 3D 轉換元素。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
list-style: none;
}
div{
width: 300px;
height: 220px;
margin: 100px auto;
border: 1px solid #000;
transform-style: preserve-3d;
perspective: 800px;
/*景深基點基本上沒人改*/
perspective-origin: left top;
}
img{
width: 100%;
display: block;
transition: 1s;
}
div:hover>img{
transform: rotateX(-45deg);
}
</style>
</head>
<body>
<div>
<img src="img/薛凱琪.jpg"/>
</div>
</body>
</html>
backface-visibility 屬性定義當元素不面向屏幕時是否可見。
如果在旋轉元素不希望看到其背面時, 該屬性很有用。
背面隱藏
*請認真填寫需求信息,我們會在24小時內與您取得聯系。