@keyframes ルールでアニメーション作成

2024-04-02

CSSで複数の変換を適用する方法

複数の変換を適用するには、いくつかの方法があります。

カンマ区切り

最も簡単な方法は、カンマで区切って複数の変換を指定することです。例えば、以下のコードは、要素を45度回転し、10px右に移動します。

.element {
  transform: rotate(45deg) translateX(10px);
}

transform 関数

複数の変換をより複雑な方法で組み合わせたい場合は、transform 関数を使用することができます。この関数は、複数の変換を単一のプロパティとして指定することができます。

例えば、以下のコードは、要素を45度回転し、10px右に移動し、2倍に拡大縮小します。

.element {
  transform: transform(rotate(45deg) translateX(10px) scale(2));
}

@keyframes ルール

アニメーションを作成したい場合は、@keyframes ルールを使用することができます。このルールを使用すると、時間経過とともに要素の変換を変化させることができます。

@keyframes my-animation {
  0% {
    transform: rotate(0deg) translateX(0px) scale(1);
  }
  100% {
    transform: rotate(45deg) translateX(10px) scale(2);
  }
}

.element {
  animation: my-animation 2s linear infinite;
}

ベンダープレフィックス

transform プロパティは、ブラウザによって異なるベンダープレフィックスが必要になる場合があります。すべてのブラウザで確実に動作するように、以下のベンダープレフィックスをすべて含めることをお勧めします。

-webkit-transform: ...;
-moz-transform: ...;
-ms-transform: ...;
-o-transform: ...;
transform: ...;

CSSで複数の変換を適用するには、いくつかの方法があります。どの方法を使用するかは、要件と目的によって異なります。




HTML

<div class="element">
  <h1>要素</h1>
</div>

CSS

.element {
  /* カンマ区切り */
  transform: rotate(45deg) translateX(10px);

  /* transform 関数 */
  /* transform: transform(rotate(45deg) translateX(10px) scale(2)); */

  /* @keyframes ルール */
  /* animation: my-animation 2s linear infinite; */

  width: 200px;
  height: 200px;
  border: 1px solid black;
}

/* @keyframes ルール */
/*
@keyframes my-animation {
  0% {
    transform: rotate(0deg) translateX(0px) scale(1);
  }
  100% {
    transform: rotate(45deg) translateX(10px) scale(2);
  }
}
*/

このコードを実行すると、要素は45度回転し、10px右に移動します。

コメント

  • 上記のコードは、サンプルコードです。必要に応じて変更してください。
  • transform 関数や @keyframes ルールを使用する場合は、ベンダープレフィックスをすべて含めることを忘れないでください。



CSSで複数の変換を適用するその他の方法

calc() 関数を使用して、変換の値を動的に計算することができます。これは、要素のサイズや位置に基づいて変換を調整したい場合に便利です。

例えば、以下のコードは、要素の幅の半分だけ要素を右に移動します。

.element {
  transform: translateX(calc(50%));
}

変換プロパティの略記

transform プロパティには、いくつかの略記があります。これらの略記を使用して、特定の種類の変換をより簡単に指定することができます。

例えば、以下のコードは、要素を45度回転します。

.element {
  transform: rotate(45deg);
}

変換プロパティのショートハンド

.element {
  transform: rotate(45deg) translateX(10px);
}

css css-transforms


画像リサイズはもう迷わない!HTML/CSS/JavaScriptのベストプラクティス

この方法は、画像の最大幅と最大高さを指定することで、画像を正比例にリサイズします。このコードは、画像の幅と高さが100%を超えないように制限します。この方法は、object-fit プロパティを使って、画像を容器にどのように収めるかを指定します。...


CSSで単語ごとに改行を強制する方法を完全網羅!サンプルコード付き解説

方法 1: word-break プロパティを使うword-break プロパティは、長い単語が要素の境界に達した際に、単語の途中で改行するかどうかを制御します。このプロパティには以下の値を設定できます。normal:デフォルト値。言語の規則に従って改行されます。...


CSSセレクターでWebページを美しく装飾!初心者から上級者まで使えるテクニック

例:この例では、すべての<p>要素に赤色のテキストと16pxのフォントサイズを適用します。CSSセレクターには様々な種類があり、それぞれ異なる方法で要素を選択します。以下に、よく使われるセレクターの種類をいくつか紹介します。要素セレクター: <p>, <h1>, <div>などのHTML要素を指定します。...


【保存版】HTML・CSSで中央揃えをマスター!Flexboxで簡単レイアウト

Flexboxは、Webページのレイアウトを柔軟に調整できるCSSレイアウトテクニックです。今回は、Flexboxを使って、左右の要素幅が異なる場合でも中央の要素を中央揃えにする方法を解説します。解決策以下の2つのステップで実現できます。親要素に display: flex を設定...


【保存版】React Native で親ビューの幅に合わせた子ビューを作成する方法とサンプルコード集

方法 1: width プロパティとパーセンテージ値を使用するこれは最も簡単で直感的な方法です。親ビューのスタイルシートで flexDirection プロパティを row または column に設定し、子ビューのスタイルシートで width プロパティに 80% を指定します。...