明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

HTML與CSS3中的2D、3D結(jié)合完成動畫效果

[摘要]這篇文章給大家介紹的內(nèi)容是關(guān)于HTML和CSS3中的2D、3D結(jié)合實(shí)現(xiàn)動畫效果,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。雖然我們我們在前端工作中,對于2D、3D動畫效果一般來說都用不上,基本上都是用JS或jQ來完成這些動畫效果,但是最基礎(chǔ)的這些你是否已經(jīng)忘記了呢?昨天重溫了一...
這篇文章給大家介紹的內(nèi)容是關(guān)于HTML和CSS3中的2D、3D結(jié)合實(shí)現(xiàn)動畫效果,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

雖然我們我們在前端工作中,對于2D、3D動畫效果一般來說都用不上,基本上都是用JS或jQ來完成這些動畫效果,但是最基礎(chǔ)的這些你是否已經(jīng)忘記了呢?

昨天重溫了一下這些東西,順手寫了兩個小例子

一、使用css畫個心

首先 在HTML中定義一個div,

<div class="heart"></div>

只需要一個p即可,我使用偽元素來畫出;

  <style>
        /* 基于父級定位 */
    .heart{
     position: relative;
    }
    /* 使用偽元素畫出兩個圖像,使用圖形拼接來造出一個心 */
    .heart::after,
    .heart::before{
        content: "";
        position: absolute;
        top: 100px;
        left: 0;
        right: 0;
        margin: auto;
        width: 50px;
        height: 80px;
        background: red;
        /* borde-radius 有四個值 分別對應(yīng)四個角,分別對應(yīng) 左上 右上 右下 左下 */
        border-radius: 50px 50px 0 0;  
 
        /* 旋轉(zhuǎn)元素,兩個一起旋轉(zhuǎn)。等下只需要調(diào)動一個即可 */
        transform: rotate(-45deg);
        transform-origin: 0 100%;        
    }
    /* 旋轉(zhuǎn)元素 使它和before偽元素 拼接成一個心 */
    .heart::after{
        left: -100px;
        transform: rotate(45deg);
        transform-origin: 100% 100%;
    }
    </style>

通過以上代碼我們就得到了一個紅紅火火的心

2345截圖20180809143249.png

二、使用css畫一個太極圖,并且加上動畫 使它自動旋轉(zhuǎn)

和上面畫心形 一樣 我依然使用的是偽元素來寫的

先定義一個div,取名為 taiji

<div id="taiji"></div>

然后再用偽元素 且看我是如何把它給造出來,話不多說,直接上代碼

<style type="text/css">
        #taiji {
            position: relative;
            width: 200px;
            height: 100px;
            background: white;
            border-color: black;
            border-style: solid;
            border-width: 4px 4px 100px 4px;
                  /*變成圓形*/
            border-radius: 50%;
       
            margin: 100px auto;
               /* 定義動畫 名稱 時長  勻速 無限循環(huán)播放 */
            animation: myfirst 4s linear infinite;
            
        }
 
        #taiji::before,
        #taiji::after {
            content: " ";
            position: absolute;
            top: 50%;
            left: 0;
            width: 25px;
            height: 25px;
            background: white;
            border: 38px solid black;
            
            border-radius: 50%;
        }
 
        #taiji::after {
            left: 50%;
            background: black;
            border-color: white;
        }
 
        /* 定義動畫 */
 
        @keyframes myfirst {
            0% {
                
                transform: rotate(0deg);
            }
            100% {
           
                transform: rotate(360deg);
            }
 
        }
    </style>

效果如下:

2345截圖20180809143452.png

相關(guān)文章推薦:

如何使用純CSS實(shí)現(xiàn)一頭綠豬的效果

css怎么實(shí)現(xiàn)圖片放大?(酷炫特效示例)

以上就是HTML和CSS3中的2D、3D結(jié)合實(shí)現(xiàn)動畫效果的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。