CSS transform-originプロパティを理解する

CSS transform-originプロパティを理解する

序文

最近、花火アニメーションを作成しました。花火が散るアニメーションです。アニメーションの実装中、花火の回転で主に行き詰まりました。後でわかったのですが、それは主にtransform-originプロパティを十分に理解していなかったためでした。特別に練習するための例を見つけて、プロパティの理解を深めました。

transform-origin効果

このプロパティは、要素の変形の原点を変更するために使用され、回転と組み合わせて使用​​されることが最も一般的です。受信されるパラメータの数は 1、2、または 3 です。 2 つの値の場合、 transform-origin: 50px 50px;のようにボックスモデルの左側からの値を表します。これは、コンテナの回転中心がボックスモデルの左上隅を原点とし、X 軸と Y 軸が原点から 50px の距離で回転することを意味します。

時計の時針の絵

中央の縦棒は初期設定で、それに基づいて次の縦棒が回転します。

  <div class="時計">
    <div class="時間"></div>
    <div class="時間"></div>
    <div class="時間"></div>
    <div class="時間"></div>
    <div class="時間"></div>
  </div>

以下の CSS コードからわかるように、回転の原点として最初の垂直線の (3,105) ピクセルに回転中心を設定します。ここでの距離は、ボックス モデルの左側からの値です。これを理解すると、他の時針を記述し、それらを個別に回転させて時針を取得できます。ここでの計算値の相対的な位置を理解していなかったため、多くの落とし穴に陥ってしまいました。

CS

。時間 {
  位置: 絶対;
  左: 105px;
  幅: 6px;
  高さ: 50px;
  背景色: #000;
  境界線の半径:6px;
  -webkit-transform-origin:3px 105px; 
          変換の原点:3px 105px;
}
.hour:n番目の子(2) {
  変換:回転(45度);
}
.hour:n番目の子(3) {
  変換:回転(90度);
}
.hour:n番目の子(4) {
  変換:回転(-45度);
}
.hour:n番目の子(5) {
  変換:回転(-90度);
}

参照する

翻訳

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

<<:  Vueはvueメタ情報を使用して各ページのタイトルとメタ情報を設定します。

>>:  MySQL で自動インクリメントシーケンスを実装するためのサンプルコード

推薦する

星のフラッシュ効果を実現するjs

この記事の例では、スターフラッシュ効果を実現するためのjsの具体的なコードを参考までに共有しています...

優れた Web UI ライブラリ/フレームワーク 10 選

1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...

Win10 + Ubuntu20.04 LTS デュアルシステムブートインターフェースの美化

エフェクト表示組み込みのブートインターフェースがあまりにも醜いので、テーマをダウンロードして美しくし...

Bootstrap FileInputは画像アップロード機能を実装します

この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...

MySQL でプロファイルを使用する方法のチュートリアル

プロフィールとは何ですか?特定の SQL のパフォーマンスを分析したい場合に使用できます。プロファイ...

フローティングメニュー、上下スクロール効果を実現できます

コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

MySQL データベースの高度なクエリとマルチテーブルクエリ

MySQL マルチテーブルクエリワークシートを追加する -- ユーザーテーブル (ユーザー) テーブ...

Excel ファイルを MySQL データベースにインポートする方法

この記事では、ExcelファイルをMySQLデータベースにインポートする方法を参考までに紹介します。...

VUE でタブページを切り替える 4 つの方法

目次1. 静的実装方法: 2. 第2のシミュレーション動的方法3. 3番目の動的データ方式4. 動的...

Linux での MySQL 8.0 インストール チュートリアル

この記事では、LinuxでMySQL 8.0をインストールする方法を紹介します。具体的な内容は次のと...

コードの互換性を高めるために、HTMLを次のように記述します。

たとえば、スクリーン リーダー ソフトウェアを必要とするユーザーなどです。フロントエンド開発者として...

CSS スタッキングと Z インデックスのサンプルコード

カスケードとカスケードレベルHTML 要素は 3 次元の概念です。水平方向と垂直方向に加えて、「Z ...

MySQL 文字セットの表示と変更のチュートリアル

1. 文字セットを確認する1. MYSQLデータベースサーバーとデータベースの文字セットを確認する方...