日韩性视频-久久久蜜桃-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动画效果并制作一个简单的旋转照片墙的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 特黄做受又粗又大又硬老头 | 日日爱666| 黄色片视频免费观看 | 中国老太婆性视频 | 三上悠亚在线观看一区二区 | 成年人免费小视频 | 久久狠狠干 | 91丨porny丨| 在线看片国产 | 亚洲国产精品无码久久久久高潮 | 国产精品久久免费视频 | 亚洲免费综合 | 高h乱l高辣h文短篇h | 成人av一区二区三区在线观看 | 超碰人人cao | 亚洲www在线观看 | 黑人一级视频 | 国产精品成人一区二区三区电影毛片 | 欧美夜夜| 国产色在线视频 | 亚洲区自拍偷拍 | 国产人妻精品久久久久野外 | 亚洲香蕉在线 | 国产亚洲综合在线 | 成人免费毛片东京热 | 一级特黄aaa| 国产欧美精品一区 | 911av| 日本伦理在线 | 三级视频在线 | 久久久久久国产精品免费 | 亚洲国产精品999 | 亚洲黄片一区二区三区 | 成人在线观看国产 | 国产精品视频导航 | 在线视频精品一区 | 欧美极品一区二区 | 午夜男人网 | 无码精品视频一区二区三区 | 国产网站入口 | 欧美精品一级 | 五月婷婷视频在线观看 | 91女神在线 | 国产青青草 | 国产黄色在线观看 | 蜜桃精品在线观看 | 国产va在线 | 成人短视频在线免费观看 | 日韩视频在线一区 | 日本少妇高潮抽搐 | 欧美xxxx胸大| 一区二区三区亚洲精品 | 91女神在线 | 欧美精品一 | 欧美无遮挡 | 天天摸天天操天天射 | 中国少妇av | 激情文学8888 | 色婷婷国产 | 亚洲精品777 | 日韩午夜毛片 | 亚洲精品一区二三区不卡 | 99久国产| 国产精品99久久久久久大便 | 亚洲涩涩图 | 久久99国产精品视频 | 欧美性受xxx | 一区二区三区在线视频播放 | 色哟哟在线播放 | 精品欧美一区二区三区免费观看 | 女同亚洲精品一区二区三 | 亚洲www啪成人一区二区麻豆 | 夜色快播 | 色哟哟入口国产精品 | 欧美成人免费一级 | 在线射| 女人16一毛片 | 激情五月色综合国产精品 | 美脚の诱脚舐め脚 | 天天爱天天色 | av在线三区 | 久久手机视频 | 东方伊甸园av在线 | av青青草| 亚洲免费av片 | 啪啪网页| 神马久久久久久久久 | 国产精品人成在线观看免费 | 日本黄色小说 | av集中营| 男男啪啪网站 | 天天狠天天干 | 亚州a级片| 日韩av资源在线观看 | 久久久久成人片免费观看蜜芽 | 在线亚洲天堂 | 亚洲成av人片一区二区梦乃 | 成人a毛片久久免费播放 | 91精品国产综合久久国产大片 |