[css3]css3におけるtransformプロパティの4つの機能
CSS3では、テキストや画像の回転、拡大縮小、傾き、移動の4種類の変形を行うことができます。
1. ブラウザ対応
今のところ Safari 3.1+, Chrome 8+, Firefox 4+, Opera 10+のブラウザがこの属性をサポートしています。
2. 回転させる
rotateメソッドを使い、パラメータに角度値を、その後に角度単位を表す"deg"テキストを追加して、時計回りに回転させます。
transform: rotate (45deg).
3. スケーリング
パラメータで拡大率を指定し、テキストや画像を拡大縮小する場合は、scaleメソッドを使用します。
transform: scale (0.5); //scale by half
(1) 要素の横倍率と縦倍率を別々に指定することができる
transform: scale (0.5, 2); // Half the size horizontally and double the size vertically.
4. チルト
テキストや画像の傾きを調整するには、skewメソッドを使用します。パラメータに水平方向の傾きと垂直方向の傾きをそれぞれ指定します。
transform: skew (30deg, 30deg); // Tilt 30 degrees horizontally and 30 degrees vertically.
(1) 1つのパラメータのみを使用し、他のパラメータを省略する。
この場合、水平方向のみに傾き、垂直方向には傾かないと考えられます。
transform: skew (30deg).
5.移動
テキストや画像を移動させるには、translateメソッドを使用します。パラメータに水平方向に移動する距離と垂直方向に移動する距離をそれぞれ指定します。
transform: translate(50px, 50px); // move 50px horizontally and 50px vertically
(1) 1つのパラメータのみを使用し、他のパラメータを省略する。
この場合、縦方向には動かず、横方向にのみ動くと考えられます。
transform: translate (50px).
6. 要素に複数の変換を使用する
transform: translate (150px, 200px) rotate (45deg) scale (1.5).
7. 変換の基準点を指定する
transformメソッドでテキストや画像を変換する場合、要素の中心点を変換の基準点として使用します。
transform-originプロパティ
このプロパティは、変換の基準点を変更するために使用します。
transform: rotate (45deg).
transform-origin: leftbottom; // Modify the reference point to the bottom left corner of the element
(1) 属性値を指定する
要素の水平方向における基点の位置:左、中央、右
要素上の基準点の垂直方向の位置:top, center, bottom
8. 3次元変形機能
(1) 回転
rotateX、rotateY、rotateZメソッドを使用して、それぞれX軸、Y軸、Z軸の周りに要素を回転させ、引数に角度値を追加し、その後に角度単位を示すdegテキストを追加します。
transform: rotateX (45deg).
transform: rotateY (45deg).
transform: rotateZ (45deg).
transform: rotateX(45deg) rotateY(45deg) rotateZ(45deg).
transform: scale(0.5) rotateY(45deg) rotateZ(45deg).
(2) スケーリング
scaleXメソッド、scaleYメソッド、scaleZメソッドを使用して、それぞれX軸、Y軸、Z軸で要素をスケーリングし、パラメータにスケーリングファクタを指定します。
transform: scaleX (0.5).
transform: scaleY (1).
transform: scaleZ (2).
transform: scaleX(0.5) scaleY(1).
transform: scale(0.5) rotateY (45deg).
(3) チルト
skewXメソッドとskewYメソッドを使用して、それぞれX軸とY軸を時計回りに要素を傾け(skewZメソッドはなし)、傾きの角度をパラメータで指定します。
transform: skewX (45deg).
transform: skewY (45deg).
(4) 移動
それぞれ、translateXメソッド、translateYメソッド、translateZメソッドを用いて、X軸、Y軸、Z軸方向に要素を移動させ、移動距離をパラメータに加算します。
transform: translateX(50px);
transform:translateY(50px);
transform:translateZ(50px);
9. 変換行列
各変形方法の背景には、対応する行列が存在する。
(1) 2次元変形の計算(3X3行列)
\begin{bmatrix}a&c&e\\b&d&f\\\0&0&1\end{bmatrix}
この2次元変形行列を、a~fをすべて数値で表したmatrim(a,b,c,d,e,f)と書くと、変形処理をどのように行うかがわかります。
(2) 並進のための2次元マトリックス
\begin{bmatrix}1&0&tx\\0&1&typ\\0&0&1\end{bmatrix}
// the effect is the same: shift right 150px, shift down 150px
transform:matrix(1,0,0,1,150,150).
transform: translate(150px, 150px).
(3) 3次元変形の計算
3Dスケーリング変形に使用される4X4マトリックス
\begin{bmatrix}sx&0&0&0\\0&sy&0&0\0&0\\0&0&sz&0\\\0&0&0&1\end{bmatrix}
transform:matrix3d(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,1);
// The effect is the same: the X-axis is scaled by one-fifth, and the Y-axis is scaled by half.
transform:scale3d(0.8,0.5,1);
transform:matrix3d(0.8,0,0,0,0,0,0,0.5,0,0,0,0,0,1,0,0,0,0,1);
(4) 複数の変形をマトリックスで行うことができる
これは、目的の変形行列を乗算して新しい変形行列を得ることで実現できる。
以上で、css3のtransformの4つの機能についての説明を終わります。css3のtransformについてもっと詳しく知りたい方は、スクリプトハウスの過去記事を検索するか、以下の記事を引き続き閲覧してください。
関連
-
[CSSチュートリアル】resizeで画像のプレビューを切り替える方法
-
[CSSチュートリアル]z-indexの違い。cssのz-index: 0とz-index: autoの違い。
-
[CSSチュートリアル]cssのbackgroundとborderタグの例 詳細
-
[CSSチュートリアル】CSS3で3つの効果例の背景をぼかす。
-
[css3]CSS3のダイヤモンドパズルは、divの背景画像を回転させない機能だけを実現するために
-
[css3] scss変数の値を実行時に変更するcss3 var()の使用方法を説明します。
-
[CSSチュートリアル]CSS気まぐれボーダーアニメーション効果
-
[CSSレイアウト例】等間隔の四角形で完璧なページレイアウトを実現する方法
-
[CSSチュートリアル】テーブルの最大幅と最小幅の相性問題と解決策を解説
-
[CSSチュートリアル] Pure CSS to click to expand もっと読む
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】パララックススクロールの効果を完成させるCSS
-
[CSSチュートリアル】CSSもこんな風に遊べる?気まぐれグラデーションの極意
-
[CSSチュートリアル】CSSで実現するTikTokのテキストジッター効果例
-
[CSSチュートリアル】ピュアCSSでDIVホバーを実現するサンプルコード(固定位置編)
-
[css3] CSS3を使ってヘッダーアニメーション効果を作成する
-
[css3]CSS3アニメーションによるグラフィックドロップ効果
-
[css3] 翻訳効果のあるcss3例(翻訳:translate)
-
[CSSチュートリアル】CSS擬似クラス:empty makes my eyes shine(コード例)
-
[CSSチュートリアル]マウスをスライドさせてカードを浮かせるCSSの例
-
左上または右上にリマインダーのドットを表示するCSS3サンプルコード[CSSチュートリアル