CSS Web制作

【CSS】画像(imgタグ)の下に余白が出来る原因と消す方法

※ 当サイトではアフィリエイト広告を利用しています

なんか画像の下に謎の余白があるんだけど何これ?

これは初心者あるあるだと思いますが、imgタグで画像を表示したら以下のように画像の下に謎の余白が出来ていることがあります(分かりやすくするために背景に色を付けています)

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

今回はその原因と余白を消す方法を解説します。

 

コーディングの時給と作業効率を上げる!
2年間の実務で実際に使ったコードをまとめた『コーディング&WordPressメモまとめ集』をBrainで公開しています。
  • コピペで使えるWordPressの各テンプレート
  • 実務でよく使う見出し一覧
  • 実務でよく使うテキストのhoverアニメーション
  • 実務でよく使うボタン内の矢印9種類
  • Contact Form 7の色々・・・
などなど、他にもコピペで使えるコードがたくさん載せてあるので、時短=時給アップに繋がります。
さらに『コードのまとめ方が参考になった』というレビューも多数頂いているので、これを元に自分なりの"メモまとめ集"を作るという使い方も出来ます。
1,100部以上販売し、レビューは630件以上あるので、気になる方は以下のボタンからチェックしてみて下さい👇

1,100部突破🎉

商品ページはこちら!

2024年4月15日値上げ!

画像(imgタグ)の下に余白が出来る原因と消す方法

まず冒頭のデモのHTMLはこちらになります。

<div class="sample-img">
  <img src="画像パス" alt="" />
</div>

そして画像下に余白が出来る原因は以下の2つです。

  • imgタグがインライン要素
  • インライン要素の初期値であるvertical-align: baseline;

 

imgタグにプロパティを追加

根本的な原因はvertical-align: baseline;ですが、インライン要素の初期値なので対処方法は以下になります。

  • imgタグをブロック要素にする → vertical-alignが無効になる
  • vertical-alignをbaseline以外のtop、middle、bottomにする

vertical-alignはインライン要素にしか使えないので、imgタグをブロック要素にすれば自動的にvertical-alignは無効となり余白も消えます。

もしくはvertical-alignの値を変えればOKです。

これはimgタグに対して書くので、以下のようになります。

/* ブロック要素にする */
img {
  display: block;
}
/* vertical-alignを変える */
img {
  vertical-align: top;
}
img {
  vertical-align: middle;
}
img {
  vertical-align: bottom;
}

 

imgタグの親要素にプロパティを追加

その他の対処方法もあります。

  • 親要素をline-height: 0;にする
  • 親要素をfont-size: 0;にする

これは親要素に対してなので、以下のように書きます。

.sample-img {
  line-height: 0;
}
.sample-img {
  font-size: 0;
}

この場合は子要素への影響も考慮しないといけないのでご注意下さい。

まとめ

今回は画像(imgタグ)の下に余白が出来る原因と消す方法について解説しました。

私はimgタグに対してdisplay: block;を書く方法を使っていますが、これをリセットCSSなどに書いて全てのimgタグに適用していると、どこかで上手く実装できないことも稀にあるので覚えておきましょう。

以上になります。

 

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-CSS, Web制作