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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅谈css3的3D动画效果并制作一个简单的旋转照片墙

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈css3的3D动画效果并制作一个简单的旋转照片墙 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

各位讀者大家好,我是一只小菜鳥。目前正在學習web前端方面的相關知識.,這也是小菜鳥第一次寫博客。寫的有哪里不對的地方歡迎各位指正。

本篇文章內容就是利用簡單的HTML布局再加上CSS3的3D轉換和動畫效果做出一個立體旋轉的照片墻。效果如下圖.

想要做成這樣的效果其實是很簡單的,在開始做之前了,我們先來了解一下它的原理吧!首先就是利用定位將圖片居中顯示,其次利用3D空間效果將圖片位移到對應的位置上再加上一點偏轉角度,然后就可以定義一個動畫,規定動畫的運轉就可以了。下面是代碼。

css代碼:

/* 去除所有標簽的內外邊距 */* {margin: 0;padding: 0; }/* 給body設置一個背景 */body {/* 引入背景圖片 */background: url(../image/7.jpg) no-repeat;/* 讓背景圖充滿這個屏幕 */background-size: 100%; }.box {/* 給父盒子設置相對定位 */position: relative;width: 400px;height: 400px;margin: 100px auto;/* 開啟3d效果, */transform-style: preserve-3d;transform: rotate(30deg);/* 調用動畫 */animation: move 8s linear infinite; }.box1 {position: relative;width: 400px;height: 400px;transform-style: preserve-3d;animation: run 8s linear infinite; }.box div {/* 給子盒子設置絕對定位,方便更改其位置 */position: absolute;width: 400px;height: 400px; }.box div img {width: 400px;height: 400px; }/* 利用3D空間轉換,將圖片定位到相應位置 */.one {transform: translateZ(400px); }.two {transform: translateZ(200px) translateX(400px) rotateY(60deg); }.three {transform: translateZ(200px) translateX(-400px) rotateY(-60deg); }.four {transform: translateZ(-200px) translateX(400px) rotateY(-60deg); }.five {transform: translateZ(-200px) translateX(-400px) rotateY(60deg); }.six {transform: translateZ(-400px); }/* 定義動畫 */@keyframes move {0% {transform: rotateX(30deg);}50% {transform: rotateX(-30deg);}100% {transform: rotateX(30deg);} }/* 定義動畫 */@keyframes run {100% {transform: rotateY(-360deg);} }.box:hover {animation-play-state: paused; }.box:hover .box1 {animation-play-state: paused; }

HTML代碼

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 引入index.css樣式表 --><link rel="stylesheet" href="./css/index.css"> </head><body><div class="box"><div class="box1"><div class="one"><img src="./image/1.jpg"></div><div class="two"><img src="./image/2.jpg"></div><div class="three"><img src="./image/3.jpg"></div><div class="four"><img src="./image/4.jpg"></div><div class="five"><img src="./image/5.jpg"></div><div class="six"><img src="./image/6.jpg"></div></div></div> </body></html>

以上就是全部代碼,圖片之類的小伙伴們可以在網上找幾張自己喜歡的。其實這種效果是比較簡單的一種,只需要簡單的將圖片移到對應位置,在為其添加一點動畫就能做到。這里運用的就是CSS3的transformanimation兩個屬性值。我在這里為大家簡單的介紹一下這兩個屬性吧。

transform3d轉換屬性介紹:

3d轉換(空間轉換)就是使用transform屬性實現元素在空間內的位移、旋轉、縮放等效果。

一.3D坐標系:

3D 坐標系比2D 多了一個Z軸。 這是從坐標軸角度定義的。 x 、y 和z三條坐標軸構成了一個立體空間,z軸位置與視線方向相同

3D坐標系

一定要記住3個坐標軸取值的正反:

  • X 軸 往右越大,是正值, 否則反之

  • Y 軸 往下越大,是正值,否則反之

  • Z軸 (指向我們)越大,是正值,否則反之

二、屬性:transform

(1).3D位移?transform: translate3d(x, y, z);這是完整寫法,當然了我們一般不采用完整寫法,更多的情況我們采用分開的寫法。

????????transform: translateX(100px);
????????transform: translateY(100px);
? ? ? ? transform: translateZ(100px);

(2)、透視。

?a、作用:空間轉換時,為元素添加近大遠小、近實遠虛的視覺效果。當我們為元素添加Z軸方向的位移時為了更好的去觀察元素的變化,會為其添加透視效果

b、語法:?perspective: 800px;

? 注意點:

i、取值范圍經常在 800px ~ 1200px 之間。

ii、一定給父親添加

iii、透視距離也稱為視距,所謂的視距就是人的眼睛到屏幕的距離。

???????其中 d 為透視的距離

????????z 是 translateZ 的距離, 這個距離靠近我們,盒子越大

透視視距圖

?(3)、3D旋轉

a、rotateX(類似體操單杠)

?效果展示:

(b)、rotateY(類似鋼管舞)

效果展示

?

?注意點:1、默認的旋轉中心在盒子的中心位置。

? ? ? ? ? ? ? ? 2、取值正負值都可以單位為deg 如transfrm:rotateY(90deg);取值正負不同旋轉方向不同。我們一般用左手來判斷其旋轉方向

左手法則

?

規則:

  • 大拇指指向X軸正向方(右), 則四指指向的方向是旋轉的方向

  • 大拇指指向Y軸正向方(下), 則四指指向的方向是旋轉的方向

  • 要想體現3D效果,我們則要給父盒子開啟3D效果transform-style: preserve-3d;

    ?animation動畫屬性介紹:

    一、特點:可以不用鼠標觸發,自動的,反復的執行某些動畫。

    二、使用:

    ? ? ? ? 1.定義:

    @keyframes dance {from {transform: scale(1)}to {transform: scale(1.5)} }

    或者

    /* 1. 定義的動畫 */ /* @keyframes為關鍵字 dance是動畫名稱(可以按照自己喜好隨意取名)*/@keyframes dance {0% {transform: scale(1)} 100% {transform: scale(1.5)}}

    2、調用

    img {width: 200px;/* 2. 使用動畫 animation: 動畫名稱 執行時間; infinite 循環*/animation: dance .5s infinite; }

    三、屬性:

    1、書寫順序:

    ?

  • 動畫名字參照css類選擇器命名

  • 動畫時長和延遲時間別忘了帶單位 s

  • infinite 無限循環動畫(重復次數)

  • alternate 為反向 就是左右來回執行動畫(跑馬燈)

  • forwards 動畫結束停留在最后一幀狀態, 不循環狀態使用

  • linear 讓動畫勻速執行

  • steps幀動畫

  • 2.幀動畫演示

    ?代碼快

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.box {width: 140px;height: 140px;margin: 100px auto;background: url(../老師的資料/images/bg.png);animation: run 1.5s steps(12) infinite, move 4s forwards;}@keyframes run {100% {background-position: -1680px;}}</style> </head><body><div class="box"></div> </body></html>

    ?

    ?這個是引用的背景圖片,有興趣的小伙伴可以嘗試一下。

    3、動畫連寫

    在寫代碼時,有時候一個元素肯定運用的不止一個動畫,如果在重新調用,后調用的動畫肯定會覆蓋前面調用的動畫,所以這個時候動畫連寫的作用就體現出來了,這個是書寫格式。

    /* 我們想要2個動畫一起執行 animation: 動畫1, 動畫2, ... 動畫n */ animation: run 1s steps(12) infinite, move 5s linear forwards;

    4.動畫暫停

    .box:hover ul { /*動畫暫停屬性*/animation-play-state: paused; }

    以上就是我的分享,希望對大家有那么一點點的幫助。

    總結

    以上是生活随笔為你收集整理的浅谈css3的3D动画效果并制作一个简单的旋转照片墙的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 在线播放网址 | 先锋资源中文字幕 | 人妻丝袜一区二区三区 | 亚洲欧美精品aaaaaa片 | 亚洲av无码片一区二区三区 | 新亚洲天堂 | 婷婷九九| 美女自卫网站 | 日韩欧美国产精品 | 青春草在线视频免费观看 | 久草手机在线视频 | 国产精品人人人人 | 国产三级精品三级在线 | 色妇网 | 夜夜爽夜夜叫夜夜高潮漏水 | 亚洲午夜精品久久久久久app | 国产成人综合一区二区三区 | 91一区二区三区在线 | 苏晴忘穿内裤坐公交车被揉到视频 | 国产精品久久九九 | 综合久久2o19 | 精品久久五月天 | 老汉av网站| 国产精品久久麻豆 | 欧美日韩精品中文字幕 | 日日噜噜噜 | 91亚洲一线产区二线产区 | 男女激情av | 久久久美女视频 | 成人在线观看免费网站 | 99久久精品无免国产免费 | 在线观看av中文字幕 | 性感少妇在线观看 | 久久人人爽爽人人爽人人片av | 免费av观看 | 在线观看成人动漫 | 亚洲一区高清 | 欧美亚洲色图视频 | 熟女人妇 成熟妇女系列视频 | 国产精品免费看久久久无码 | 领导揉我胸亲奶揉下面 | 91看片国产 | 蜜臀av免费一区二区三区水牛 | 天天操人人干 | 久久8| 成人观看网站 | 男人你懂的网站 | 色图自拍| 亚洲顶级毛片 | 欧美激情久久久 | 日日噜噜夜夜狠狠久久丁香五月 | 国产成人精品影视 | 国产www在线 | 人人插人人爽 | 国产精品久久久久无码av色戒 | av免费观| 后入内射无码人妻一区 | 无码国精品一区二区免费蜜桃 | 国产制服丝袜在线 | 中文字幕久久熟女蜜桃 | 欧美日韩精品免费 | 奇米影视盒 | 色妞综合网 | 久爱视频在线 | 在线观看欧美 | 日韩3p | 欧美色图3p | 国产主播一区二区三区 | 国产黄色高清 | 日韩精品啪啪 | 成人免费a视频 | 偷拍亚洲另类 | 粉嫩av懂色av蜜臀av分享 | 国产一二三在线 | 日韩av大片| 夜夜高潮夜夜爽国产伦精品 | 日韩精品一区二区三区在线 | 午夜电影一区二区三区 | 国产91丝袜在线播放九色 | 日本乱淫视频 | av操操| 新婚之夜玷污岳丰满少妇在线观看 | 在线观看污污视频 | 亚洲国产精品suv | 天堂8av | 国产黄色片免费看 | 久久国产精品偷 | 特级新鲜大片片 | 日韩黄大片 | 亚洲AV成人无码网站天堂久久 | 老鸭窝久久| 人人艹人人爱 | 激情久久网| 色婷婷免费 | 亚洲视频四区 | 性欧美色图 | 亚洲一区二区三区无码久久 | 日本免费网 | 神马午夜激情 |