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 で自動インクリメントシーケンスを実装するためのサンプルコード

推薦する

Viteプロジェクトを作成する手順

目次序文yarn create は何をしますか?ソースコード分析プロジェクトの依存関係テンプレート構...

CentOS 6.x のインストール時に発生するエラー「ディスク sda に BIOS RAID メタデータが含まれています」の解決方法

今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...

Apple Watchのインタラクションデザインにおける4つの全く異なる体験が明らかに

今日も Watch アプリのデザインに関する話です。私はケーススタディが大好きなので、同じトピックを...

docker compose helloworld を使い始めるための詳細なプロセス

前提条件Compose は、Docker コンテナをオーケストレーションするためのツールです。Doc...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

Linuxシステムでノードプロセスを実行しているが、プロセスを強制終了できない問題を解決します

まず、Linux システムで実行されているノード プロセスはプロセスを強制終了できないことを紹介しま...

MacでMysqlのルートパスワードを忘れた場合の解決方法

長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

js 加算、減算、乗算、除算の正確な計算方法のサンプルコード

序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...

Linux で tcpdump コマンドを使用してデータ パケットをキャプチャおよび分析する方法の詳細な説明

序文tcpdump はよく知られたコマンドライン パケット分析ツールです。 tcpdump コマンド...

MYSQL フルバックアップ、マスタースレーブレプリケーション、カスケードレプリケーション、および半同期の概要

MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...

vue-cropperプラグインは、画像キャプチャとアップロードコンポーネントのカプセル化を実現します。

vue-cropperプラグインをベースにした画像キャプチャとアップロードコンポーネントをカプセル...

Vue で pdfjs を使用して PDF ファイルをプレビューする方法

目次序文考えるライブラリディレクトリの解析とダウンロード使い方ファイルの場所実際の通話質問要約する序...

MySqlを最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in ...

Firefox または IE でスパン幅が決定されない場合の解決策

コードをコピーコードは次のとおりです。 <html xmlns="http://ww...