CSSで画像の縦横比を維持したまま拡大する方法を現役エンジニアが解説【初心者向け】

初心者向けにCSSで画像の縦横比を維持したまま拡大する方法について解説しています。ここではobject-fit: cover;を使ってアスペクト比を維持したまま拡大する方法を説明します。アスペクト比を維持しない場合、した場合それぞれの画面上での表示の違いを見てみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

CSSで画像の縦横比を維持したまま拡大する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

画像の縦横比を維持したまま拡大する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

画像本来のサイズに拡大する場合

See the Pen
2020-05-19-sample03
by YOHEI INAI (@yohei_inai)
on CodePen.

横幅と高さが150pxのサイズの画像を横幅と高さが100pxにて表示されている場合、imgタグの属性であるwidthとheightを取り除くか、もしくは、画像の元サイズと同値を指定することにて、本来(原寸大)に表示されます。

 

HTML

See the Pen
2020-05-19-sample04
by YOHEI INAI (@yohei_inai)
on CodePen.

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

親要素のサイズに合わせて拡大する場合

CSSを用いて、相対的な単位である「%」を指定してから、親要素の横幅まで伸ばせれます。

 

HTML

<div class="sample">
   <img src="https://placehold.jp/150x150.png">
</div>

 

CSS

.sample {
   width: 450px;
}

.sample img {
   width: 100%;
}

 

表示結果

See the Pen
2020-05-19-sample05
by YOHEI INAI (@yohei_inai)
on CodePen.

 

縦横比を維持したまま画像を拡大してみよう

さらに、画像の縦横比(アスペクト比)を維持した状態にて画像のサイズを拡大できます。まず、画像の縦横比を維持できていない表示です。

 

画像の縦横比を維持できていない表示の例

See the Pen
2020-05-19-sample06
by YOHEI INAI (@yohei_inai)
on CodePen.

以下、画像の縦横比(アスペクト比)を維持した状態にて画像のサイズを拡大します。

 

HTML

<div class="sample">
   <img src="https://placehold.jp/150x150.png">
</div>

 

CSS

.sample {
   width: 500px;
}

.sample img {
   object-fit: cover;
   width: 500px;
   height: 100px;
}

 

表示結果

See the Pen
2020-05-19-sample07
by YOHEI INAI (@yohei_inai)
on CodePen.

 

監修してくれたメンター

井内洋平

TechAcademyの現役メンター。

元Web Developerで、趣味は貯金、節税対策、投資信託、株式投資、FXなど多岐にわたる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも、最短4週間でオリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。