日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

css3动画制作转动相册

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 css3动画制作转动相册 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、CSS3 動(dòng)畫(huà)

CSS3 可以創(chuàng)建動(dòng)畫(huà),它可以取代許多網(wǎng)頁(yè)動(dòng)畫(huà)圖像、Flash 動(dòng)畫(huà)和 JavaScript 實(shí)現(xiàn)的效果。


1.CSS3 @keyframes 規(guī)則

  • 要?jiǎng)?chuàng)建 CSS3 動(dòng)畫(huà),你需要了解 @keyframes 規(guī)則。
  • @keyframes 規(guī)則是創(chuàng)建動(dòng)畫(huà)。
  • @keyframes 規(guī)則內(nèi)指定一個(gè) CSS 樣式和動(dòng)畫(huà)將逐步從目前的樣式更改為新的樣式。
  • 2.CSS3動(dòng)畫(huà)是什么?

    • 動(dòng)畫(huà)是使元素從一種樣式逐漸變化為另一種樣式的效果。
    • 您可以改變?nèi)我舛嗟臉邮饺我舛嗟拇螖?shù)。
    • 請(qǐng)用百分比來(lái)規(guī)定變化發(fā)生的時(shí)間,或用關(guān)鍵詞 "from" 和 "to",等同于 0% 和 100%。
    • 0% 是動(dòng)畫(huà)的開(kāi)始,100% 是動(dòng)畫(huà)的完成。
    • 為了得到最佳的瀏覽器支持,您應(yīng)該始終定義 0% 和 100% 選擇器。
    • ?

    3.CSS3 動(dòng)畫(huà)

  • 當(dāng)在 @keyframes 創(chuàng)建動(dòng)畫(huà),把它綁定到一個(gè)選擇器,否則動(dòng)畫(huà)不會(huì)有任何效果。
  • 注意: 必須定義動(dòng)畫(huà)的名稱(chēng)和動(dòng)畫(huà)的持續(xù)時(shí)間。如果省略的持續(xù)時(shí)間,動(dòng)畫(huà)將無(wú)法運(yùn)行,因?yàn)槟J(rèn)值是0。
  • 指定至少這兩個(gè)CSS3的動(dòng)畫(huà)屬性綁定向一個(gè)選擇器:
  • animation-name:規(guī)定動(dòng)畫(huà)的名稱(chēng): 【注】動(dòng)畫(huà)名不要起關(guān)鍵字,最好見(jiàn)名知意 。
  • ?animation-duration :規(guī)定動(dòng)畫(huà)的時(shí)長(zhǎng)
  • 4.CSS3的動(dòng)畫(huà)屬性

    下面的表格列出了 @keyframes 規(guī)則和所有動(dòng)畫(huà)屬性:

    屬性描述CSS
    @keyframes規(guī)定動(dòng)畫(huà)。3
    animation所有動(dòng)畫(huà)屬性的簡(jiǎn)寫(xiě)屬性。3
    animation-name規(guī)定 @keyframes 動(dòng)畫(huà)的名稱(chēng)。3
    animation-duration規(guī)定動(dòng)畫(huà)完成一個(gè)周期所花費(fèi)的秒或毫秒。默認(rèn)是 0。3
    animation-timing-function規(guī)定動(dòng)畫(huà)的速度曲線(xiàn)。默認(rèn)是 "ease"。3
    animation-fill-mode規(guī)定當(dāng)動(dòng)畫(huà)不播放時(shí)(當(dāng)動(dòng)畫(huà)完成時(shí),或當(dāng)動(dòng)畫(huà)有一個(gè)延遲未開(kāi)始播放時(shí)),要應(yīng)用到元素的樣式。3
    animation-delay規(guī)定動(dòng)畫(huà)何時(shí)開(kāi)始。默認(rèn)是 0。3
    animation-iteration-count規(guī)定動(dòng)畫(huà)被播放的次數(shù)。默認(rèn)是 1。3
    animation-direction規(guī)定動(dòng)畫(huà)是否在下一周期逆向地播放。默認(rèn)是 "normal"。3
    animation-play-state規(guī)定動(dòng)畫(huà)是否正在運(yùn)行或暫停。默認(rèn)是 "running"。3

    5、animation屬性

    ?

    5.1animation-duration

    屬性定義動(dòng)畫(huà)完成一個(gè)周期需要多少秒或毫秒。

    <html> <!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><style>div {width: 100px;height: 100px;background: green;position: relative;animation: mymove infinite;animation-duration: 2s;}@keyframes mymove {from {transform: translateX(0px);}to {transform: translateX(200px);}}</style> </head><body><p><strong>注意:</strong> animation-duration屬性不兼容 Internet Explorer 9 以及更早版本的瀏覽器.</p><!-- 向右移動(dòng)200px,2s完成 --><div></div><p><b>注意:</b> 要指定動(dòng)畫(huà)屬性。否則時(shí)間若是0,動(dòng)畫(huà)不會(huì)進(jìn)行。</p> </body></html>

    5.2animation-timing-function

    標(biāo)簽定義及使用說(shuō)明

    • animation-timing-function指定動(dòng)畫(huà)將如何完成一個(gè)周期。
    • 速度曲線(xiàn)定義動(dòng)畫(huà)從一套 CSS 樣式變?yōu)榱硪惶姿玫臅r(shí)間。
    • 速度曲線(xiàn)用于使變化更為平滑。

    語(yǔ)法

  • animation-timing-function: value;
  • animation-timing-function使用的數(shù)學(xué)函數(shù),稱(chēng)為三次貝塞爾曲線(xiàn),速度曲線(xiàn)。使用此函數(shù),您可以使用您自己的值,或使用預(yù)先定義的值之一:
  • 值描述
    linear動(dòng)畫(huà)從頭到尾的速度是相同的。
    ease默認(rèn)。動(dòng)畫(huà)以低速開(kāi)始,然后加快,在結(jié)束前變慢。
    ease-in動(dòng)畫(huà)以低速開(kāi)始。
    ease-out動(dòng)畫(huà)以低速結(jié)束。
    ease-in-out動(dòng)畫(huà)以低速開(kāi)始和結(jié)束。
    cubic-bezier(n,n,n,n)在 cubic-bezier 函數(shù)中自己的值。可能的值是從 0 到 1 的數(shù)值。

    5.3animation-direction

    定義和用法

    animation-direction 屬性定義是否循環(huán)交替反向播放動(dòng)畫(huà)。

    注意:如果動(dòng)畫(huà)被設(shè)置為只播放一次,該屬性將不起作用。

    CSS 語(yǔ)法

    animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit;

    屬性值

    值描述
    normal默認(rèn)值。動(dòng)畫(huà)按正常播放。
    reverse動(dòng)畫(huà)反向播放。
    alternate動(dòng)畫(huà)在奇數(shù)次(1、3、5...)正向播放,在偶數(shù)次(2、4、6...)反向播放。
    alternate-reverse動(dòng)畫(huà)在奇數(shù)次(1、3、5...)反向播放,在偶數(shù)次(2、4、6...)正向播放。

    5.4animation-fill-mode

    ?

    定義和用法

    animation-fill-mode 屬性規(guī)定當(dāng)動(dòng)畫(huà)不播放時(shí)(當(dāng)動(dòng)畫(huà)完成時(shí),或當(dāng)動(dòng)畫(huà)有一個(gè)延遲未開(kāi)始播放時(shí)),要應(yīng)用到元素的樣式。

    默認(rèn)情況下,CSS 動(dòng)畫(huà)在第一個(gè)關(guān)鍵幀播放完之前不會(huì)影響元素,在最后一個(gè)關(guān)鍵幀完成后停止影響元素。animation-fill-mode 屬性可重寫(xiě)該行為。

    CSS 語(yǔ)法

    animation-fill-mode: none|forwards|backwards|both|initial|inherit;

    屬性值

    值描述
    none默認(rèn)值。動(dòng)畫(huà)在動(dòng)畫(huà)執(zhí)行之前和之后不會(huì)應(yīng)用任何樣式到目標(biāo)元素。
    forwards在動(dòng)畫(huà)結(jié)束后(由 animation-iteration-count 決定),動(dòng)畫(huà)將應(yīng)用該屬性值。
    backwards動(dòng)畫(huà)將應(yīng)用在 animation-delay 定義期間啟動(dòng)動(dòng)畫(huà)的第一次迭代的關(guān)鍵幀中定義的屬性值。這些都是 from 關(guān)鍵幀中的值(當(dāng) animation-direction 為 "normal" 或 "alternate" 時(shí))或 to 關(guān)鍵幀中的值(當(dāng) animation-direction 為 "reverse" 或 "alternate-reverse" 時(shí))。
    both動(dòng)畫(huà)遵循 forwards 和 backwards 的規(guī)則。也就是說(shuō),動(dòng)畫(huà)會(huì)在兩個(gè)方向上擴(kuò)展動(dòng)畫(huà)屬性。

    實(shí)例

    把物體動(dòng)畫(huà)地從一個(gè)地方移動(dòng)到另一個(gè)地方,并讓它停留在那里:

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>)</title><style>.box {width: 100px;height: 100px;background: red;position: relative;animation: mymove 3s;animation-iteration-count: 2;animation-fill-mode: forwards;}.box1 {width: 100px;height: 100px;background: green;}@keyframes mymove {from {transform: translateX(0px);}to {transform: translateX(200px);}}</style> </head><body><p><strong>注意:</strong>Internet Explorer 9 及其之前的版本不支持 animation-fill-mode 屬性。</p><div class="box"></div><div class="box1">我是固定的</div></body></html>


    5.5animation-iteration-count

    標(biāo)簽定義及使用說(shuō)明

    animation-iteration-count屬性定義動(dòng)畫(huà)應(yīng)該播放多少次。

    語(yǔ)法

    animation-iteration-count: value;

    ?

    值描述
    n一個(gè)數(shù)字,定義應(yīng)該播放多少次動(dòng)畫(huà)
    infinite指定動(dòng)畫(huà)應(yīng)該播放無(wú)限次(永遠(yuǎn))

    5.6animation--play-state

    標(biāo)簽定義及使用說(shuō)明

    animation--play-state屬性指定動(dòng)畫(huà)是否正在運(yùn)行或已暫停。

    語(yǔ)法

    animation-play-state: paused|running;

    ?

    值描述
    paused指定暫停動(dòng)畫(huà)
    running指定正在運(yùn)行的動(dòng)畫(huà)

    實(shí)例鼠標(biāo)懸停動(dòng)畫(huà)進(jìn)行,配合3D制作旋轉(zhuǎn)相冊(cè):

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>li {list-style: none;}body {background-image: radial-gradient(907px at 3.4% 19.8%, rgb(255, 243, 122) 0%, rgb(255, 102, 145) 97.4%);}.box {width: 600px;height: 340px;position: absolute;top: 50%;margin-top: -170px;left: 50%;margin-left: -300px;transform-style: preserve-3d;transition: all 500s;transform: rotateX(-5deg);animation: turn 10s linear infinite paused;}.item {position: absolute;left: 0;top: 0;width: 600px;height: 340px;background-size: 600px;}/* 正面 */.item:nth-child(1) {background-image: url(./img/2.jpg);transform: translateZ(600px);}/* 后面 */.item:nth-child(2) {background-image: url(./img/m1.jpg);transform: translateZ(-600px);}/* 左后 */.item:nth-child(3) {background-image: url(./img/3.jpg);transform: rotateY(60deg) translateZ(-600px);}/* 左前 */.item:nth-child(4) {background-image: url(./img/4.jpg);transform: rotateY(-60deg) translateZ(600px);}/* 右前 */.item:nth-child(5) {background-image: url(./img/5.jpg);transform: rotateY(60deg) translateZ(600px);}/* 右后 */.item:nth-child(6) {background-image: url(./img/6.jpg);transform: rotateY(-60deg) translateZ(-600px);}/* .box:hover {transform: rotateX(-5deg) rotateY(36000deg);} */.box:hover {animation-play-state: running;}@keyframes turn {to {transform: rotateX(-5deg) rotateY(360deg);}}</style> </head><body><ul class="box"><li class="item"></li><li class="item"></li><li class="item"></li><li class="item"></li><li class="item"></li><li class="item"></li></ul> </body></html>


    ?

    總結(jié)

    以上是生活随笔為你收集整理的css3动画制作转动相册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。