CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSS2D変換

アニメーション化されたWeb要素の作成は、Webデザインの重要な機能です。たとえば、ユーザーがボタンにカーソルを合わせたときに歪ませたいボタンを設計している場合があります。

そこでCSS変換プロパティが登場します。変換プロパティは、Webページ上の要素を移動、回転、傾斜、および拡大縮小するために使用されます。これにより、ユーザーにとってWebページをよりインタラクティブにすることができます。

このチュートリアルでは、例を使用して、transformプロパティを使用してCSSで2D変換を操作する方法について説明します。このチュートリアルを読み終えると、CSS2D変換の使用に精通することになります。

CSS2D変換

CSS変換機能を使用すると、Webページ上で回転、移動、スケール、スキューなどの基本的な変換アニメーションを作成できます。

要素が変換されるとき、それは近くの要素に影響を与えません。ただし、変換された要素はそれらとオーバーラップする可能性がありますが、それでもWebページのデフォルトの場所のスペースを占有します。

CSSには、2Dと3Dの2種類の変換があります。 transformプロパティは、両方のタイプの変換を作成するために使用されますが、この記事では、2D変換に焦点を当てます。

CSSのWeb要素に適用できる2D変換がいくつかあります。これらは:

  • translate()
  • scale()
  • scaleX()
  • scaleY()
  • skew()
  • skewX()
  • skewY()
  • matrix()
  • rotate()

例を参照して、これらの各変換を個別に分類してみましょう。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

translate()変換

translate()メソッドは、要素を現在の位置から画面上の新しい位置に移動するために使用されます。

translate()関数は、2つのパラメーターを受け入れます。要素を右に移動するピクセル数と、要素を下に移動するピクセル数です。

このメソッドの構文は次のとおりです。

translate(xAxis, yAxis);

現在の位置から右に25ピクセル、下に50ピクセル移動するボックスがあるとします。次のコードを使用して、このタスクを実行できます。

index.html

<body>
	<p>This is a paragraph of text.</p>
<div><p>This is a box that has been moved using the translate() method.</p></div>
</body>

styles.css

div {
	transform: translate(25px, 50px);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Result of code here]

コードを分解してみましょう。 HTMLコードでは、2段落のテキストを作成しました。最初の段落はページの上部に表示されます。 2番目の段落は最初の段落の下に表示され、

タグで囲まれています。

CSSコードでは、

タグに適用されるスタイルを定義しました。このスタイルは、
の色を水色に設定し、
ボックスに3px幅の黒一色の境界線を与えます。さらに、translate()変換を使用して、ボックスを左に25ピクセル、下に50ピクセル移動しました。

translate()変換が指定されていないコードは次のとおりです。

index.html

<body>
	<p>This is a paragraph of text.</p>
<div><p>This is a box that has been moved using the translate() method.</p></div>
</body>

styles.css

div {
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

ご覧のとおり、translate() を指定せずに メソッドでは、ボックスはWebページ上の通常の位置を保持します。

rotate()変換

rotate() 変換を使用すると、要素を時計回りまたは反時計回りに回転させることができます。アイテムが回転する範囲は、指定された次数の値に基づいています。

rotate() の構文 変換は次のとおりです。

transform: rotate(Xdeg);

上記の構文で、Xは、要素を回転させる度数を指します。要素を時計回りに回転させる場合は、Xに正の値を指定する必要があります。それ以外の場合、要素を反時計回りに回転させる場合は、Xに負の値を指定する必要があります。

45度回転させたいボックスがあるとします。次のコードを使用してボックスを回転させることができます。

index.html

<div><p>This is a box that has been rotated.</p></div>

styles.css

div {
	transform: rotate(45deg);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

コードを分解してみましょう。 HTMLコードでは、テキストの段落を保持する

ボックスを作成しました。 CSSコードでは、ボックスに水色の背景と3px幅の黒一色の境界線を適用しました。また、
ボックスを時計回りに45度回転させます。

コードの結果からわかるように、作成したボックスは回転しています。回転前と回転後のボックスの比較は次のとおりです。

CSS2D変換

scale()変換

scale() メソッドを使用すると、要素のサイズを増減できます。

scale()メソッドの構文は次のとおりです。

transform: scale(x, y);

スケール機能は、指定した値に基づいて画像の幅(x)と高さ(y)を比例的にスケーリングします。高さスケールの値を指定しない場合、scale()関数は、高さスケールが幅スケールと等しくなければならないと想定します。

元のサイズの1.5倍に拡大縮小したいボックスがあるとします。このコードを使用してこれを行うことができます。

index.html

<div><p>This is a box that has been scaled.</p></div>

styles.css

div {
	transform: scale(1.5, 1.5);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

HTMLコードでは、テキストの文を保持するボックスを作成しました。 CSSコードでは、すべての

タグの背景が水色で、幅が3pxの黒一色の境界線である必要があることを指定しています。また、scale()メソッドを使用して、ボックスを元のサイズの1.5倍に拡大しました。

CSS2D変換

これは、2つのボックスのサイズを比較した画像です。最小のボックスにはscale()値がなく、最大のボックスのscale()は1.5です。

テキストを含む最大のボックスThis is a box that has been scaled. 元の箱の1.5倍の大きさです。

scaleX()変換

scaleX() 変換を使用すると、要素の幅を増減できます。 scaleX()変換の構文は次のとおりです。

transform: scaleX(xValue);

xValueパラメータは、要素の幅をスケーリングする量です。幅を1.6倍に増やしたいボックスがあるとします。次のコードを使用して、このボックスのサイズを大きくすることができます。

index.html

<div><p>This is a box that has been scaled.</p></div>

styles.css

div {
	transform: scaleX(1.5);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

この例では、ボックスの幅が元の幅の1.5倍になっています。

scaleY()変換

scaleY() 変換を使用すると、要素の高さを増減できます。 scaleY()はscaleX()と同じように機能しますが、要素の幅に影響を与える代わりに、scaleY()は要素の高さを変更します。

ボックスの高さを現在の高さの半分に減らしたいとします。このコードを使用してこれを行うことができます。

index.html

<div><p>This is a box that has been scaled.</p></div>

styles.css

div {
	transform: scaleY(0.5);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

このコードでは、ボックスの高さ(y軸で表される)を0.5倍に縮小しています。言い換えれば、私たちの箱は元の高さの半分です。

skew()変換

skew() 変換は、指定された角度だけx軸とy軸に沿って要素を傾斜させます。

スキュー()メソッドの構文は次のとおりです。

transform: skew(xValue, yValue);

xValueは、要素がx軸上でどれだけ歪む必要があるかを示し、yValueは、要素がy軸上でどれだけ歪まれる必要があるかを示します。両方の値は度で表す必要があります。

yValueの値が指定されていない場合、y軸にスキューは適用されません。

ボックスをx軸で10度、y軸で15度傾斜させたいとします。このコードを使用してこれを行うことができます。

index.html

<div><p>This is a box that has been skewed.</p></div>

styles.css

div {
	transform: skew(10deg, 15deg);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

この例では、ボックスをx軸で10度、y軸で15度傾斜させています。

skiwX()およびskewY()変換

scale()のように メソッド、skew() 要素のx軸またはy軸のいずれかを横切って要素を傾斜させるために使用される2つのサブメソッドが付属しています。

X軸のみを横切って要素を傾斜させるには、skewX()メソッドを使用できます。このメソッドの構文は次のとおりです。

transform: skewX(xValue);

xValueは、要素がスキューされるx軸上の度数です。

Y軸を横切って要素を傾斜させるには、skewY()メソッドを使用できます。スキューY()メソッドの構文は次のとおりです。

transform: skewY(yValue);

したがって、要素をY軸上で10度傾斜させたい場合は、次のコードを使用できます。

div {
	transform: skewY(10deg);
}

matrix()変換

matrix() 変換は、要素に対してすべての2DCSS変換を実行します。したがって、matrix()を使用して、平行移動、回転、スケーリング、およびスキュー変換を適用できます。

matrix()関数は、要素に変換を適用できるようにする6つのパラメーターを受け入れます。このメソッドの構文は次のとおりです。

変換:matrix(scaleX()、skewY()、skewX()、scaleY()、translateX()、translateY());

次の変換を使用するボックスを作成したいとします。

  • 1のX軸の目盛り。
  • Y軸の10度のスキュー。
  • X軸の10度のスキュー。
  • Y軸の1.25の目盛り。
  • X軸上で25px移動(「移動」)します。
  • Y軸上で25px移動します。

これらの変換のそれぞれを個別に指定できます。ただし、そうすると、多くの個別の変換を作成する必要があります。代わりに、matrix()メソッドを使用して、1行のコードを使用してこれらの変換を記述できます。

前述の変換を使用してボックスを作成するために使用できるコードは次のとおりです。

index.html

<div><p>This is a box that has been skewed.</p></div>

styles.css

div {
	transform: matrix(1, 10, 10, 1.25, 25, 25);
	background-color: lightblue;
	border: 3px solid black;
}

私たちのコードは次を返します:

[Code result here]

このコードでは、スキュー、スケール、および変換変換をボックスに適用しました。これは、matrix()メソッドを使用し、前に指定した値を渡すことによって実現しました。

結論

transformプロパティは、CSSの要素に変換を適用するために使用されます。 CSSは、Web要素の変換に使用される、スキュー、スケール、回転、変換など、多数の2D変換を提供します。

このチュートリアルでは、例を参照して、2DCSS変換の基本について説明しました。これで、プロのWeb開発者のように独自の2D変換を作成する準備が整いました。


  1. CSSのrotate()関数

    CSSのrotate()関数は要素を回転させます。このパラメータは、回転の角度を設定します。値には、度、ラジアンなどがあります。 例 <!DOCTYPE html> <html> <head> <style> #demo1 {background-color: hsla(140, 100%, 50%, 0.8);} #demo2 {background-color: hsla(130, 100%, 50%, 0.6);} #demo3 {background-color: hsla(190, 100%, 50%, 0.4);} #demo4 {b

  2. CSSの2D変換関数

    2D変換関数は、要素に回転、移動、スケーリング、およびスキューできる2D変換を適用するために使用されます。 翻訳 −要素をx軸とy軸に沿って移動します。 スケール −要素のサイズをxy方向に変更します。 回転 −要素をある程度動かすため。 スキュー −要素をxy方向に傾斜させる。 以下は、CSSの2D変換関数を示すコードです- 例 <!DOCTYPE html> <html> <head> <style> body {    font-family: "Segoe UI", T