3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现
我愛擼碼,擼碼使我感到快樂!
大家好,我是Counter,本章微博主要利用了CSS3的一些新特性,
主要用到關(guān)鍵幀來使3D圖形運(yùn)動起來,涉及到了一些抽象的思想,立體的想象。
先給大家看看完成的效果,代碼也不是很難,每行代碼都給到了詳細(xì)注釋,純CSS,沒有用到JS,CSS3不錯。
效果如下:
每一行基本都有注釋,就不重復(fù)說了,代碼如下:
3D旋轉(zhuǎn)/* 給最外層父級設(shè)置景深,讓里面的元素有立體的空間,并且設(shè)置寬高 */
.wrapper {
/* 景深600像素 */
perspective: 500px;
/* 設(shè)置margin距離上面100px,左右自適應(yīng),下面0 */
margin: 100px auto 0;
width: 200px;
height: 200px;
/* border: 1px solid black; */
}
.box {
/* 設(shè)置相對定位好讓子元素相對于自己定位 */
position: relative;
/* 給item設(shè)置保留3D效果,如果沒有設(shè)置里面的元素將不會呈現(xiàn)3D效果 */
transform-style: preserve-3d;
width: 200px;
height: 200px;
/* move為設(shè)置的關(guān)鍵幀,運(yùn)動8秒,勻速運(yùn)動,無限次(各個參數(shù)代表的含義) */
animation: move 8s linear infinite;
}
/* 選擇所有開頭帶有item的元素,使其全部定位到父級所在的位置 */
div[class^="item"] {
position: absolute;
top: 0;
left: 0;
width: 200px;
height: 200px;
/* 使文本左右對齊 */
text-align: center;
/* 使文本上下對齊 */
line-height: 200px;
}
/* 立方體有六面,每個item1~6代表每一面,此時里面的item1~6具有三條軸,x,y,z */
/* x軸即是你電腦屏幕寬度的那條軸,從左到右。y軸即是你電腦屏幕高度的那條軸,從上到下。z軸即是你眼睛垂直看電腦屏幕的那條軸,方向從電腦屏幕到你的眼睛*/
/* 設(shè)置第一面 */
.item1 {
/* 沿z軸向你眼睛方向移動100px */
transform: translateZ(100px);
/* 設(shè)置背景顏色,最后一個參數(shù)為透明度設(shè)置為0.6 */
background-color: rgba(255, 0, 0, 0.6);
}
/* 設(shè)置第二面 */
.item2 {
/* 沿z軸向里移動100px即為-100px */
transform: translateZ(-100px);
background-color: rgba(72, 42, 245, 0.6);
}
/* 設(shè)置第三面 */
.item3 {
/* 沿x軸旋轉(zhuǎn)90度,然后再向z軸移動100px(deg在這里表示度的意思) */
transform: rotateX(90deg) translateZ(100px);
background-color: rgba(217, 230, 36, 0.6);
}
/* 設(shè)置第四面 */
.item4 {
/* 沿x軸旋轉(zhuǎn)90度,然后再向z軸移動-100px */
transform: rotateX(90deg) translateZ(-100px);
background-color: rgba(58, 7, 51, 0.6);
}
/* 設(shè)置第五面 */
.item5 {
/* 沿y軸旋轉(zhuǎn)90度,然后再向z軸移動-100px */
transform: rotateY(90deg) translateZ(-100px);
background-color: rgba(241, 142, 75, 0.6);
}
/* 設(shè)置第六面 */
.item6 {
/* 沿y軸旋轉(zhuǎn)90度,然后向z軸移動100px */
transform: rotateY(90deg) translateZ(100px);
background-color: rgba(125, 178, 238, 0.6);
}
/* 設(shè)置關(guān)鍵幀讓box容器旋轉(zhuǎn)起來,分別沿x,y,z軸從0旋轉(zhuǎn)360度 */
@keyframes move {
0% {
transform: rotateX(0) rotateY(0) rotateZ(0);
}
100% {
transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
}
123456以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 橙派电脑1070显卡(1070ti显卡)
- 下一篇: 同级选择器_10-CSS3选择器详解