本記事では、CSSで画像を中央寄せする方法を解説しています。
HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
画像を中央寄せする2つの方法
後輩ちゃん
先輩!画像を中央寄せする方法を教えてください!
先輩くん
了解!画像を中央寄せする方法は2つあるから、別々に紹介するね!
text-align:center;
1つ目は、text-align:center;を使用した方法です。text-align:center;と聞くと、テキストの中央寄せに使われるイメージですが、imgタグはインライン要素のためテキストと同様に中央寄せすることが出来ます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<img class="container__img" src="himawari.jpg" alt="ひまわり畑" />
</div>
</body>
</html>
.container {
background-color: gray;
text-align: center;
}

margin:0 auto;
2つ目は、imgタグの親要素のdivタグ(ブロック要素)に幅を設定しmargin:0 auto;で中央寄せする方法です。私の主観ですが、この書き方が一番しっくりきます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="bg-gray">
<div class="container">
<img class="container__img" src="himawari.jpg" alt="ひまわり畑" />
</div>
</div>
</body>
</html>
.bg-gray {
background-color: gray;
}
.container {
max-width: 500px;
margin: 0 auto;
}
.container__img {
width: 100%;
}

先輩くん
画像をブロック要素に変化させ、画像自体に幅を持たせmargin:0 auto;で中央寄せすることも可能です!