• HOME > 
  • CSS > 
  • CSSだけで要素を上下左右に反転させる方法【transfor...

CSSだけで要素を上下左右に反転させる方法【transform:scaleを使ったテクニックを解説】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像

本記事は執筆時点(2022年08月09日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。

広告
広告

CSSだけで要素を上下左右に反転させるには?

WEBサイトを制作していると画像などの要素を上下や左右に反転して表示させたい場面があります。

特にアイコンや矢印マークなどは使う場所によって向きを変えたいということが多いのではないでしょうか?

要素の反転をCSSだけで実現することができれば、わざわざ反転させた画像を用意しないで済むので時間と手間の削減につながります。

要素の反転にはtransform:scaleを使う

上下の反転も左右の反転もどちらもtransform:scaleを使うことで簡単に実現できます。

transform:scaleは本来要素の拡大縮小を行うプロパティですが、値の指定を仕方によって要素を反転させる効果をもたらします。

リンク先のサムネイル
CSSのセレクターとは?【種類と使い方をわかりやすく解説】

CSSのセレクタ―は、スタイルを適用させたいHTML要素の特定に使います。セレクタ―を使ってスタイルを指定することで、同じスタイルを使いまわしたり一部分にだけ違うスタイルを適用させることが可能になります...【もっと読む】

上下に反転させる

まずは要素を上下に反転させる時の記述方法です。

下記のように記述することで要素が上下反転して表示されます。

scaleで上下に反転させる書き方

scaleのカッコの中はX軸とY軸を示しています。今回は上下に反転させたいのでY軸の方に「-」(マイナス)を付けています。

HTML

<div class="test">
<img src="image_arrow_vl.png" alt="テスト用画像">
<img src="image_arrow_vl.png" alt="テスト用画像" class="hanten_tb">
</div>

CSS

.hanten_tb{
    transform:scale(1,-1);/*上下反転*/
}

プレビュー

テスト用画像 テスト用画像

上記の例では左側の矢印が元の画像で、右側が同じデータをtransform:scaleによって上下反転させたものになります。

左右に反転させる

左右に反転させたい場合は先程とは異なり、今度はX軸の方に「-」(マイナス)を付けます。

scaleで左右に反転させる書き方

HTML

<div class="test">
<img src="https://web.skipjack.tokyo/wp-content/uploads/css/hanten/image_arrow_hr.png" alt="テスト用画像">
<img src="https://web.skipjack.tokyo/wp-content/uploads/css/hanten/image_arrow_hr.png" alt="テスト用画像" class="hanten_rl">
</div>

CSS

.hanten_rl{
    transform:scale(-1,1);/*左右反転*/
}

プレビュー

テスト用画像 テスト用画像

こちらも左側の矢印が元の画像で、右側が同じデータをtransform:scaleによって左右反転させたものになります。

回転と反転の使い分け

今回の例で使ったような矢印であれば、上下左右以外にもtransformで回転させることでひとつのデータであらゆる方向に向きを変えることができます。

transformで要素を回転させる際にはrotateを使用し、次のように記述します。

rotateで回転させる書き方

HTML

<div class="test">
<img src="image_arrow_hr.png" alt="テスト用画像">
<img src="image_arrow_hr.png" alt="テスト用画像" class="kaiten1">
<img src="image_arrow_hr.png" alt="テスト用画像" class="hanten_rl">
<img src="image_arrow_hr.png" alt="テスト用画像" class="kaiten2">
</div>

CSS

.kaiten1{
    transform:rotate(90deg);
}
.kaiten2{
    transform:rotate(-90deg);
}

プレビュー

テスト用画像 テスト用画像 テスト用画像 テスト用画像

ここで使用している元データは一番左にある「右を指さしたアイコン」です。反転と回転を使えば一つのデータだけで全方向に向きを変えられます。

まとめ

以上がCSSのtransform:scaleを活用して要素を上下左右に反転させる方法です。transformプロパティを活用すれば一つのデータを元にCSSだけで様々な見せ方に利用できるので効率よくWEBサイトをつくるときにとても役立ちます。

広告
広告

関連する記事

サムネイル

CSSでPNG画像に影を落とす方法【filterプロパティd……

2025年01月15日
CSSでドロップシャドウをつけるには? CSSで要素に影(ドロップシャドウ)を付ける手段としては「box-shadow」や「text-shadow(テキストの場 […]
サムネイル

CSSのfilterプロパティの関数の種類と効果をまとめ【フ……

2025年01月06日
最終更新日:2025年01月15日
IEのサポートが終了したので、これまで使う機会の少なかったfilterプロパティを改めて調べたところ、CSSでの表現の幅を広げてくれる画期的なプロパティだと気づ […]
サムネイル

CSSで写真にぼかし加工を加える方法【filterプロパティ……

2025年01月06日
CSSだけで写真をぼかせる? CSSのfilterプロパティのblur()関数を使うと、画像(要素)にぼかしを加えることができます。 画像編集ソフトを使うことな […]
サムネイル

CSSで写真の明るさ(明度)を調整する方法【filterプロ……

2025年01月06日
CSSだけで画像の明度を調整できる? CSSのfilterプロパティのbrightness()関数を使うと、画像(要素)の明るさを変更することができます。 画像 […]
サムネイル

CSSで写真のコントラストを変更する方法【filterプロパ……

2025年01月06日
CSSだけで写真のコントラストを調整できる? CSSのfilterプロパティのcontrast()関数を使うと、画像(要素)のコントラストを変更することができま […]
サムネイル

CSSで写真を白黒に変更する方法【filterプロパティgr……

2025年01月06日
CSSだけで写真を白黒にできる? CSSのfilterプロパティのgrayscale()関数を使うと、画像(要素)を白黒に変更することができます。 グレースケー […]
サムネイル

CSSで写真をセピアに加工する方法【filterプロパティs……

2025年01月06日
CSSで写真をセピアに加工できる? CSSのfilterプロパティのsepia()関数を使うと、画像をセピア色に変換できます。 画像編集ソフトを使うことなくCS […]