ホームページ > ウェブフロントエンド > htmlチュートリアル > html+ccs3 太陽系惑星の回転animation_html/css_WEB-ITnose

html+ccs3 太陽系惑星の回転animation_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:16:08
オリジナル
1237 人が閲覧しました

惑星の衛星を除く、太陽系の 8 つの惑星の動きのアニメーションを作成します。惑星は当面、単色で回転しません。

エフェクトの静止画像:

アニメーションには、太陽と惑星、その軌道、惑星の回転アニメーションが含まれます。

まずスケッチを描き、サイズと位置を設計し、回転周期に基づいてアニメーションの実行時間を計算します。

html 構造:

クラス Solarsys を持つ div は、太陽系コンテナー要素として、div の位置は相対的です。

惑星の軌道と惑星は両方とも div 内にあり、位置は絶対です。

コンテナは相対配置を使用し、内部要素は絶対配置を使用します。欠点は、サイズが固定されていることです。

    <div class="solarsys">        <!--太阳-->        <div class='sun'></div>        <!--水星轨道-->        <div class='mercuryOrbit'></div>        <!--水星-->        <div class='mercury'></div>        <!--金星轨道-->        <div class='venusOrbit'></div>        <!--金星-->        <div class='venus'></div>        <!--地球轨道-->        <div class='earthOrbit'></div>        <!--地球-->        <div class='earth'></div>        <!--火星轨道-->        <div class='marsOrbit'></div>        <!--火星-->        <div class='mars'></div>        <!--木星轨道-->        <div class='jupiterOrbit'></div>        <!--木星-->        <div class='jupiter'></div>        <!--土星轨道-->        <div class='saturnOrbit'></div>        <!--土星-->        <div class='saturn'></div>        <!--天王星轨道-->        <div class='uranusOrbit'></div>        <!--天王星-->        <div class='uranus'></div>        <!--海王星轨道-->        <div class='neptuneOrbit'></div>        <!--海王星-->        <div class='neptune'></div>    </div>
ログイン後にコピー

太陽系コンテナ div の CSS:

固定幅、固定高さ、相対位置、ページ内およびプレイ内での配置。

        .solarsys{            width: 800px;            height: 800px;;            position: relative;            margin: 0 auto;            background-color: #000000;            padding: 0;            transform: scale(1);        }
ログイン後にコピー

太陽 div の css:

デザインのサイズと位置に応じて、幅、高さ、左、上を設定します。

色を設定します。

境界線の半径を 50% 生成して、正方形を円に変換します。

box-shadow の 4 レイヤーのカラー設定で太陽の輝きを実現します。

        .sun {            left:357px;            top:357px;            height: 90px;            width: 90px;            background-color: rgb(248,107,35);            border-radius: 50%;            box-shadow: 5px 5px 10px rgb(248,107,35), -5px -5px 10px rgb(248,107,35), 5px -5px 10px rgb(248,107,35), -5px 5px 10px rgb(248,107,35);            position: absolute;            margin: 0;        }
ログイン後にコピー

惑星軌道 div の CSS:

それが水星の軌道であると仮定します。

デザインのサイズと位置に合わせて、幅、高さ、左、上を設定します。

背景色は透明です。

境界線の半径を 50% 生成して、正方形を円に変換します。

枠線の種類を点線に設定します。

境界線の色をグレーに設定します。

幅を 1 に設定します。

        .mercuryOrbit {            left:342.5px;            top:342.5px;            height: 115px;            width: 115px;            background-color: transparent;            border-radius: 50%;            border-style: dashed;            border-color: gray;            position: absolute;            border-width: 1px;            margin: 0px;            padding: 0px;        }
ログイン後にコピー

惑星 div の CSS:

それが水星だとしましょう。

デザインのサイズと位置に合わせて、幅、高さ、左、上を設定します。

色を設定します。

境界線の半径を 50% 生成して、正方形を円に変換します。

transfrom-origin を、太陽系コンテナ全体の中心点を基準とした現在の div の左上隅の水平および垂直オフセットに設定します。回転アニメーションを追加すると、中心点を中心に回転する効果が得られます。

アニメーションを作成し、回転キーフレームアニメーションを参照して、直線的かつ永続的に実行します。ここでの実行時間は、惑星の公転周期に基づいて計算されます。

        .mercury {            left:337.5px;            top:395px;            height: 10px;            width: 10px;            background-color: rgb(166,138,56);            border-radius: 50%;            position: absolute;            transform-origin: 62.5px 5px;            animation: rotate 1.5s infinite linear;        }
ログイン後にコピー

キーフレーム アニメーションを回転する:

反時計回りに回転します。

        @keyframes rotate {            100% {                transform: rotate(-360deg);            }        }
ログイン後にコピー

基本構造が完成しました。

Chrome でのみテストされています。

すべてのコード:

        <div class="solarsys">        <!--太阳-->        <div class='sun'></div>        <!--水星轨道-->        <div class='mercuryOrbit'></div>        <!--水星-->        <div class='mercury'></div>        <!--金星轨道-->        <div class='venusOrbit'></div>        <!--金星-->        <div class='venus'></div>        <!--地球轨道-->        <div class='earthOrbit'></div>        <!--地球-->        <div class='earth'></div>        <!--火星轨道-->        <div class='marsOrbit'></div>        <!--火星-->        <div class='mars'></div>        <!--木星轨道-->        <div class='jupiterOrbit'></div>        <!--木星-->        <div class='jupiter'></div>        <!--土星轨道-->        <div class='saturnOrbit'></div>        <!--土星-->        <div class='saturn'></div>        <!--天王星轨道-->        <div class='uranusOrbit'></div>        <!--天王星-->        <div class='uranus'></div>        <!--海王星轨道-->        <div class='neptuneOrbit'></div>        <!--海王星-->        <div class='neptune'></div>    </div>
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート