JINMUSOFTWARE

cssのscale()関数を使用して画像を少し拡大する方法

マウスがhoverしたときに少しだけ画像を大きくするときに使うscale()の記事

Scale()

100×100の猫の画像です。かわいいですね。

画像は100px、vertical-alignはmiddle、border無しの状態です。

cat x100

さて、このimgタグの画像をscale()で拡縮してみましょう。

transform: scale(0.2);

scale(0.2)、 scale(0.5)、scale(1.1)、サンプルでwidth:60px、の比較です。

cat
cat
cat
cat

考察

scale()すると要素の見た目のサイズが変わります。

しかし、デベロッパーモードでimg要素のサイズを確認すると100pxのままです。占有された領域のサイズに変化はありません。

他の要素のレイアウトに影響しません。画像の表示のみ拡縮されます。

そもそも、transformってそういうものなのかな?要勉強ですね。

widthで横幅を指定した場合は、しっかりとサイズ変更されますよね。

100x100

補足

scale()は、transformの領域かな。

transform – mdn

transform-function – mdn

The stacking context – mdn

Layout and the containing block – mdn

Scale()の使用例

マウスがHoverすると大きくなります。

cat
hover1:hover {
    transform: scale(1.05);
    transition: 0.4s;
}
.hover1 {
    transition: 0.4s;
}

追加

span要素はscale()できません。

inline要素でもいろいろですね。

inline-blockを設定するとscaleできますね。

span-element scale(1.2)

span-element inline-block scale(1.2)

p-element scale(1.2)

p要素を拡大すると親要素をはみ出るので、親要素で、overflow:hidden;しています。