【初心者向け】CSSで画像の拡大・縮小方法

公開日: 2021.11.10
更新日: 2024.01.03
cssで画像の拡大・縮小方法

webサイトに載せる画像を綺麗なまま拡大・縮小したい

こう思う方も多いのではないでしょうか。

本記事をお読みいただくと以下が分かります。

  • CSSで画像の拡大・縮小方法が分かる

webサイト設計ではユーザにとって見やすい構成にすることが必須です。画像が汚かったら、それだけで離脱率が高まる場合があります。是非本記事をお読みいただき理解を深めてください。

画像が綺麗に表示されない場合がある

webサイト上に写真や絵のような画像を載せて拡大・縮小する場合、何の調整もしないと画像の縦横比(縦と横の比率)が崩れて汚く表示されてしまう場合があります。

冒頭でも書きましたが、自分が訪れたwebサイトの画像が汚かったりしたら、それだけで「あまりちゃんとしてないサイトだな」という印象を受けますよね。信頼して読み続けられないサイトになってしまう可能性もあるので、画像1つでも丁寧に設計するようにしましょう。

CSSで画像の拡大・縮小をするやり方

それでは、ここから早速CSSで画像の縦横比を維持したまま画像の拡大・縮小をするやり方を紹介します。

ケース1 特別なことをしなくても縦横比が維持される場合

実は、特に設定を何もしなくても画像の拡大・縮小をしたときに縦横比が維持されるケースがあります。

それは、「画像を表示するためのimg要素にサイズの情報を付加していない」ケースです。具体例を見ていきましょう。

html
<p class="sample">
<img src="sample.jpg" alt="picture">
</p>

このHTMLでは「sample.jpg」を表示することしか指定しておらず、特に縦横のサイズについては明記していません。

このケースは、以下のようなCSSを記述するだけで画像を綺麗に表示することができます。

css
p.sample img {
width: 150px;
}

この例ではsample.jpgの横幅(width)を150pxにしており、高さは指定していませんが縦横比を保ったまま画像を表示することができます。

ここまでの話はシンプルですね。ただし「HTMLに画像のサイズについての明記がある場合」は話が変わってきます。

ケース2 CSSで縦横比を維持して画像を拡大・縮小する方法

先ほどとは異なり、以下のようにHTML内で画像のサイズを明記しているとします。

html
<p class="sample">
<img src="sample.jpg" width="200" height="100" alt="picture">
</p>

この場合は当然、横幅200px、高さ100pxで表示されます。しかし、併せて以下のようにCSSでwidth(横幅)しか指定しなかった場合は縦横比が崩れてしまいます。

css
p.sample img {
width: 150px;
}

理由はシンプルで、画像の横幅はCSSで150pxとして指定されているものの、高さはHTMLで100pxとして指定しているため、横幅150px、高さ100pxの画像が表示されてしまうというわけです。

この問題を回避する方法として便利なのが「auto」です。結論から書きますが、以下のようにCSSを記述します。

css
.sample img {
width: 150px;
height: auto;
}

このようにheightをautoで上書きすることで、横幅が150pxに対して縦横比を維持した高さをCSS側で調整してくれるわけです。

やっていることはシンプルですね。

最後に

ここまでで、CSSで縦横比を維持したまま画像を拡大・縮小する方法をお伝えしました。autoは非常に便利なので覚えておいていただきたいですが、おすすめは「そもそもHTMLに画像のサイズを明記しない」ことだと思います。

都度CSSでautoを指定してもいいのですが、どこに何の画像サイズを設定したのかだんだんわからなくなってしまいます。webサイトのコンテンツが増えてくればくるほど、後から修正するのは非常に骨が折れます。最初の段階で、どのソースコードに何を設定するかは丁寧に決めておくと良いでしょう。


プログラミングやパソコンを使って働きたい!

そのように考え、成長しているIT業界への転職を考えている方も増えてきました。

『IT業界に興味はあるけど、よくわからない…』
『パソコンとかそもそも苦手なのに私なんかにできるのかな』
『エンジニアって聞くけど難しそう』

反対にこのような声も聞く事があります。

そう考えている方は、一度ぜひ転職に成功したエンジニアの方のインタビューをご覧ください!

\プログラミングを学んで/
人生を変えた3名

インタビュー記事一覧 >

まとめ

いかがでしたでしょうか。CSSで画像の縦横比を維持したまま拡大・縮小する方法を紹介しました。

はまってしまうと解決するのに時間がすごくかかりますが、分かってしまえばやっていることはシンプルなことがお分かりいただけたと思います。

是非本記事をきっかけに、ユーザにとって読みやすいサイト設計を進めてください。

関連記事

資料請求

  • 短期集中で最速エンジニア転職を実現-転職成功者インタビュー一覧

    DMM WEBCAMPでは転職成功率98%を実現しています。本資料では、元警察官や元ラーメン屋など様々なバックグラウンドを持つ卒業生の声をお届けします。

    資料をダウンロードする
  • IT技術がもたらす3つの変化と身につけるべきスキル

    IT技術の発展により、今後10~20年程度で47%の仕事がなくなると言われています。どのような変化が訪れ、私達はどのようなスキルを身につけるべきかを解説します。

    資料をダウンロードする
  • 未経験がフリーランスエンジニアになる方法-年収アップで自由な働き方を手に入れる

    働き方改革やリモートワークの影響でフリーランスという働き方の人気は高まりつつあります。フリーランスエンジニアとして活躍するために必要な情報をお届けします。

    資料をダウンロードする

© 2024 WEBCAMP MEDIA Powered by AFFINGER5