CSS3 とテーブルタグを使用して円軌道アニメーションを実装するためのサンプルコード

CSS3 とテーブルタグを使用して円軌道アニメーションを実装するためのサンプルコード

html: 実際には、テーブルタグに従っていくつかの実線の円 div を正六角形に配置し、div コンテナーに配置してから、CSS3 の円回転アニメーション効果を使用して、最も外側の div コンテナーを回転させます。もちろん、div コンテナーの外側の境界線を円弧に設定することを忘れないでください。

<div class="アニメーション_div">
        <テーブルクラス="テーブルクラス">
            <tr>
                <td></td>
                <td>
                    <div class="BMI" ng-click="compriseClicked('BMI')" ng-class="{isSelected:clickUrlKey=='BMI'}">
                        BMI
                    </div>
                </td>
                <td></td>
                <td>
                    <div class="color_blind" ng-click="compriseClicked('color_blind')" ng-class="{isSelected:clickUrlKey=='color_blind'}">
                        色覚異常と色弱
                    </div>
                </td>
                <td></td>
            </tr>
            <tr>
                <td>
                    <div class="space_div"></div>
                </td>
            </tr>
            <tr>
                <td>
                    <div class="HR" ng-click="compriseClicked('HR')" ng-class="{isSelected:clickUrlKey=='HR'}">
                        心拍
                    </div>
                </td>
                <td></td>
                <td>
                    <a href="#/app/custom_made/counselor/{{clickUrlKey}}" style="text-decoration: none;
                        色: 黒;">
                        <div class="start_test">
                            <strong>テストを開始する</strong>
                        </div>
                    </a>
                </td>
                <td></td>
                <td>
                    <div class="fat_content" ng-click="compriseClicked('fat_content')" ng-class="{isSelected:clickUrlKey=='fat_content'}">
                        脂肪含有量
                    </div>
                </td>
            </tr>
            <tr>
                <td>
                    <div class="space_div"></div>
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                    <div class="WHR" ng-click="compriseClicked('WHR')" ng-class="{isSelected:clickUrlKey=='WHR'}">
                        ウエストヒップ比
                    </div>
                </td>
                <td></td>
                <td>
                    <div class="safe_period" ng-click="compriseClicked('safe_period')" ng-class="{isSelected:clickUrlKey=='safe_period'}">
                        <strong>安全期間</strong>
                    </div>
                </td>
                <td></td>
            </tr>
        </テーブル>
    </div>
    
    <h3>クリック URL キー:{{クリック URL キー}}</h3>

CSS: 円形トラックには 6 つの実線円があるため、カスタマイズ用に異なるクラスが設定されています。そのため、実線円には重複したスタイルがいくつかありますが、最適化することができます。ここでは扱いません。

<スタイル>
      /*アニメーションを定義する*/
      
      @-webkit-keyframes ラウンドアニメーション {
          0%{
              -webkit-transform:rotate(0度);
              幅:260ピクセル;
              高さ:260px;
          }
          100%{
              -webkit-transform:rotate(360度);
              幅:260ピクセル;
              高さ:260px;
              左:0px;
              上:0px;
          }
      }
      
      /*フレームのスタイルを定義する*/
      /*アニメーションを呼び出してアニメーションパラメータを設定する*/
      
      .アニメーション_div {
          -webkit-transform-origin:center center; /*回転の中心点を定義します*/
          -webkit-animation:round_animation 15s 無限交互; /*無限交互はループアニメーションを意味します*/
          
          マージン: 60px 自動;
          幅:260ピクセル;
          高さ:260px;
          境界線: 1px 黒一色;
          境界線の半径: 130px;
          左:0px;
          上:0px;
      }
      
      .animation_div 強い {
          フォントサイズ: 12px;
      }
      
      .BMI {
          幅: 50px;
          高さ: 50px;
          背景色: オレンジ;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .色盲{
          幅: 50px;
          高さ: 50px;
          背景色: 緑;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .HR{
          左マージン: -15px;
          幅: 50px;
          高さ: 50px;
          背景色: 青;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .start_test {
          幅: 60ピクセル;
          高さ: 60px;
          背景色: 赤;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .fat_content {
          左マージン: 15px;
          幅: 50px;
          高さ: 50px;
          背景色: グレー;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .WHR {
          幅: 50px;
          高さ: 50px;
          背景色: 紫;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .安全期間{
          幅: 50px;
          高さ: 50px;
          背景色: 黄色;
          境界線の半径: 100px;
          テキスト配置: 中央;
          
          /*テキストの垂直中央揃え*/
          垂直位置合わせ: 中央;
          行の高さ: 50px;
      }
      
      .space_div {
          幅: 50px;
          高さ: 50px;
          背景色: クリア;
          境界線の半径: 100px;
      }
      
      .rightmenu_btn {
          高さ: 60px;
          フロート: なし;
      }
      
      .rightmenu_btn ボタン {
          上マージン: 50px;
          幅: 20px;
          高さ: 60px;
          境界線: 1px実線rgb(221, 221, 221);
          右境界線: 0px;
          フロート: 右;
      }
      
      .isSelected{
          境界線: 1px 実線の赤;
      }
  </スタイル>

JS: ここのコードはアニメーション効果とは関係がないので無視できます。これはクリック応答イベントです。

angular.module('starter.controllers', [])
    .controller('healthCtrl', 関数($scope, $location) {
        $scope.clickUrlKey = "BMI";
        $scope.compriseClicked = 関数(clickUrlKey) {
            $scope.clickUrlKey = クリックUrlKey;
        };
    })

効果図は以下のとおりです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Vueのprovideとinjectの使い方と原則を分析する

>>:  Dockerボリュームのファイルマッピング方法

推薦する

MySQLチュートリアルではストアドプロシージャを徹底的に理解します

目次1. ストアドプロシージャに関連する概念2. ストアドプロシージャの使用1) ストアドプロシージ...

CentOS 7.x に ZSH ターミナルをインストールする方法

1. 基本コンポーネントをインストールするまず、 yumコマンドを実行して、コードpullために必要...

HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

CSS ハック \9 と \0 は IE11\IE9\IE8 のハッキングには機能しない可能性があります

Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...

LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法

1. 最初の方法は、unhup コマンドを直接使用してプログラムをバックグラウンドで実行することです...

表の境界線の CSS 構文

<br />表の境界線の CSS 構文具体的な内容には、上境界線の幅、右境界線の幅、下境...

最高の無料英語フォント33選を紹介

チャンクファイブフリータイプファミリーCuprum JAH I フリーフォントイェセヴァブークレフィ...

MySQL マスタースレーブ遅延問題の解決方法

今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...

MySQLはデータ復旧を実装するためにbinlogログを使用する

MySQL binlog は MySQL ログの中で非常に重要なログであり、データベースのすべての ...

VMware esxi6.5 のインストールと使用の詳細な手順

目次導入建築ESXIの利点vSphere とは何ですか? 2. 仮想マシンの利点3. 仮想マシンを使...

Linux で起動時にプログラムを自動的に実行させる最も簡単な方法

たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

Centos7 で mysqldump を使用して MySQL データベースの毎日の自動バックアップを作成する

1. 要件:データベースのバックアップは、実稼働環境にとって特に重要です。データベースのバックアップ...

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....