溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在CSS3中實現(xiàn)3D酷炫立方體變換動畫

發(fā)布時間:2021-05-27 16:25:24 來源:億速云 閱讀:170 作者:Leah 欄目:web開發(fā)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎么在CSS3中實現(xiàn)3D酷炫立方體變換動畫,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

代碼如下:

<!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>3D旋轉(zhuǎn)</title>
    <style>
        /* 給最外層父級設(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)鍵幀,運動8秒,勻速運動,無限次(各個參數(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);
            }
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="box">
            <div class="item1">1</div>
            <div class="item2">2</div>
            <div class="item3">3</div>
            <div class="item4">4</div>
            <div class="item5">5</div>
            <div class="item6">6</div>
        </div>
    </div>
</body>
</html>

上述就是小編為大家分享的怎么在CSS3中實現(xiàn)3D酷炫立方體變換動畫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI