CSS3のtransform属性で実装される4つの機能

CSS3のtransform属性で実装される4つの機能

CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という 4 種類の変形処理を実装できます。

1. ブラウザのサポート

現時点では、Safari 3.1 以上、Chrome 8 以上、Firefox 4 以上、Opera 10 以上のブラウザーがこのプロパティをサポートしています。

2. 回転

rotate メソッドを使用し、パラメータに角度の値を追加し、その後に角度の単位を示す「deg」という単語を追加します。回転方向は時計回りになります。

変換: 回転(45度);

3. ズーム

テキストまたは画像を拡大縮小するには、scale メソッドを使用し、パラメータで拡大縮小係数を指定します。

transform:scale(0.5); //半分に縮小

(1)要素の水平方向と垂直方向の拡大率を個別に指定できます。

transform:scale(0.5, 2); //水平方向に半分に縮小し、垂直方向に2倍に縮小します。

4. 傾ける

テキストや画像の傾斜処理を実装するには、skew メソッドを使用し、パラメータで水平方向の傾斜角度と垂直方向の傾斜角度を指定します。

transform:skew(30deg, 30deg); //水平方向に30度、垂直方向に30度傾けます。

(1)パラメータを1つだけ使用し、他のパラメータを省略する

この場合、傾きは水平方向のみであり、垂直方向ではないと考えられます。

変換:skew(30度);

5. モバイル

パラメータで水平方向と垂直方向の移動距離を指定して、テキストまたは画像を移動するには、translate メソッドを使用します。

transform: translate(50px, 50px); //水平方向に50px、垂直方向に50px移動

(1)パラメータを1つだけ使用し、他のパラメータを省略する

この場合、垂直方向ではなく水平方向にのみ移動すると考えられます。

変換: translate(50px);

6. 1つの要素に複数の変形方法を使用する

変換: 移動(150px, 200px) 回転(45度) スケール(1.5);

7.変形の基点を指定する

変換メソッドを使用してテキストまたは画像を変形する場合、変形は要素の中心点に基づいて実行されます。

transform-origin プロパティ

このプロパティを使用すると、変形の基点を変更できます。

変換: 回転(45度);
transform-origin:leftbottom; //参照点を要素の左下隅に変更します

(1)要素内の属性値参照点の水平位置を指定する:左、中央、右
要素内の参照点の垂直位置: 上、中央、下

8. 3D変形機能

(1)回転

rotateX メソッド、rotateY メソッド、rotateZ メソッドを使用して、それぞれ X 軸、Y 軸、Z 軸を中心に要素を回転させます。パラメータに角度の値を追加し、その後に角度の単位を表す単語 deg を追加します。回転方向は時計回りです。

変換: rotateX(45deg);
変換: rotateY(45deg);
変換: rotateZ(45deg);
変換: 回転X(45度)、回転Y(45度)、回転Z(45度);
変換: スケール(0.5)、Y軸回転(45度)、Z軸回転(45度);

(2)スケーリング

scaleX メソッド、scaleY メソッド、scaleZ メソッドを使用して、それぞれ X 軸、Y 軸、Z 軸に沿って要素をスケーリングし、パラメータでスケーリング比率を指定します。

変換: スケールX(0.5);
変換:スケールY(1);
変換:スケールZ(2);
変換: スケールX(0.5)スケールY(1);
変換: スケール(0.5) 回転Y(45度);

(3)傾き

skewXメソッドとskewYメソッドを使用して、それぞれX軸とY軸上で要素を時計回りに傾けます(skewZメソッドなし)。パラメータで傾斜角度を指定します。

変換: skewX(45deg);
変換:skewY(45度);

(4)モバイル

translateX メソッド、translateY メソッド、translateZ メソッドを使用して、それぞれ X 軸、Y 軸、Z 軸方向に要素を移動し、移動距離をパラメータに追加します。

変換: translateX(50px);
変換: translateY(50px);
変換: translateZ(50px);

9. 変形マトリックス

各変形方法の背後には、対応するマトリックスがあります。

(1)2次元変形を計算する(3X3行列)

\begin{bmatrix}a&c&e\\b&d&f\\0&0&1\end{bmatrix}

この 2D 変形行列は、matrim(a,b,c,d,e,f) と記述できます。ここで、a ~ f はそれぞれ、変形プロセスの実行方法を決定する数値を表します。

(2)2次元変換行列

\begin{bmatrix}1&0&tx\\0&1&ty\\0&0&1\end{bmatrix}
//同じ効果: 右に 150 ピクセル移動、下に 150 ピクセル移動
変換:行列(1, 0, 0, 1, 150, 150);
変換: translate(150px, 150px);

(3)3次元変形の計算

3Dスケーリングと変形に使用される4X4マトリックス

\begin{bmatrix}sx&0&0&0\\0&sy&0&0\\0&0&sz&0\\0&0&0&1\end{bmatrix}
変換:matrix3d(sx,0,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1);
// 効果は同じです。X 軸に沿って 5 分の 1 に縮小し、Y 軸に沿って半分に縮小します。
変換:scale3d(0.8,0.5,1);
変換:matrix3d(0.8,0,0,0,0,0.5,0,0,0,0,1,0,0,0,0,1);

(4)マトリックスを介して複数の変形処理を実行することができる

これは、必要な変形行列を乗算して新しい変形行列を取得することによって実現できます。

CSS3 の transform 属性で実装される 4 つの機能に関するこの記事はこれで終わりです。CSS3 の transform 属性の実装に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML レイヤード ボックス シャドウ効果のサンプル コード

>>:  血の写輪眼と輪廻眼の特殊効果コードを実現するためのHTML+CSS

推薦する

自作メニューをクリックする効果を実現するJavaScript

この記事では、自作メニューをクリックする効果を実現するためのJavaScriptの具体的なコードを参...

フロントエンドのパフォーマンス最適化を学習するための準備として、HTML ページのレンダリング プロセスを理解する (続き)

昨夜、ブラウザのレンダリングプロセスに関するエッセイを書きましたが、小さなコードで説明しただけでした...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

波効果を作成するための CSS のトリック

純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

XHTML の IE 条件付きコメント

<br />条件付きコメントはIEシリーズ製品上でXHTMLコード処理を分離して行うこと...

ページリファクタリングスキル - コンテンツ

雑談はここまでにして、インターネット上で見つかる高性能な Yahoo ウェブサイトを構築するための数...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

MySQL インデックスの原理と最適化の詳細な説明

序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...

CentOS 7 で Python を 3.6.6 にアップグレードした後に発生する yum エラー問題の解決方法の概要

最近、テスト サーバーのオペレーティング システムを Cent0S 7.5 にアップグレードし、Py...

Vue で CSS カスタム変数を使用する方法

目次CSS カスタム変数機能は古くから存在していますが、実際の開発ではあまり使用されていません。その...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

MySQLデータベース移行により、大量のデータを迅速にエクスポートおよびインポートできます

データベースの移行は、よく遭遇する問題です。データ量が少ない場合、移行は基本的に問題になりません。実...

Vueモバイル端末に最適な適応ソリューションについての簡単な説明

序文: 最近の医療モバイル プロジェクトに基づいて、Vue はさまざまな画面のさまざまな画面サイズに...

CSSでemを開く正しい方法の詳細な説明

「通常 1em=16px」と言うのはなぜですか?ユーザーのブラウザによってレンダリングされるデフォル...