ホームページ  >  記事  >  ウェブフロントエンド  >  HTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現する

HTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現する

不言
不言オリジナル
2018-08-09 14:36:072597ブラウズ

この記事では、HTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現する方法を紹介します。必要な方は参考にしていただければ幸いです。

フロントエンド作業では通常 2D および 3D アニメーション効果を使用しませんが、これらのアニメーション効果を完成させるには基本的に JS または jQ を使用しますが、最も基本的なものを忘れていませんか?

昨日これらを見直して 2 つの小さな例を書きました

1. 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 有四个值 分别对应四个角,分别对应 左上 右上 右下 左下 */
        border-radius: 50px 50px 0 0;  
 
        /* 旋转元素,两个一起旋转。等下只需要调动一个即可 */
        transform: rotate(-45deg);
        transform-origin: 0 100%;        
    }
    /* 旋转元素 使它和before伪元素 拼接成一个心 */
    .heart::after{
        left: -100px;
        transform: rotate(45deg);
        transform-origin: 100% 100%;
    }
    </style>

上記のコードでは、豊かな心臓を取得します

HTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現する

2. CSSを使用して太極拳の図を描画し、アニメーションを追加して自動的に回転させます

上記の心臓の描画と同様に、疑似要素を使用して記述します

まず 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;
               /* 定义动画 名称 时长  匀速 无限循环播放 */
            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>

効果は次のとおりです:

HTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現する

おすすめの関連記事:

純粋な CSS を使用して緑のブタの効果を実現する方法

CSS で画像を拡大するにはどうすればよいですか? (クールな特殊効果の例)

以上がHTML と CSS3 で 2D と 3D を組み合わせてアニメーション効果を実現するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。