MENU

【初心者向け】テキストとアイコンがズレる原因と直し方|Flexboxで水平に揃える方法をわかりやすく解説

【初心者向け】テキストとアイコンがズレる原因と解決方法|align-itemsで簡単に水平揃えにする方法

「テキストとアイコンを横並びにしたら、なぜかアイコンだけ下にズレてしまう…」
こんな経験はありませんか?

特に、display: flex; を使って横並びにしたときに起こりやすい問題です。
本記事では、なぜズレるのか?どう直すのか? を初心者にも分かりやすく解説します。


flexboxを使ったアイコンとテキストのズレについての解説画像
目次

▼ テキストとアイコンを横並びにしたときに起きる「ズレ」

まずは、よくあるHTMLとCSSの例を見てみましょう。

【HTML】

<div class="item">
  <span>サンプルテキスト</span>
  <img src="icon.png" alt="アイコン">
</div>

【CSS】

.item {
  display: flex;
}

display: flex; を使うことで、テキストとアイコンは横並びになります。
しかし実際にブラウザで確認すると、こんな状態になりがちです。

✔ テキストよりアイコンが少し下にズレている
✔ 完全に水平に揃わない
✔ なんとなくバランスが悪い

なぜこんなことが起きるのでしょうか?


▼ ズレる原因は「デフォルトの揃え方」

Flexbox(display: flex)には、実は「子要素をどう揃えるか」という初期設定があります。

その初期値が
align-items: stretch;(高さを揃える)
になっているため、テキストと画像(アイコン)のサイズ差が原因で、わずかにズレて見えることがあります。


▼ ズレをなくすには「align-items: center;」を使う

水平にきれいに揃えたい場合は、親要素に align-items: center; を追加するだけでOKです。

【修正後のCSS】

.item {
  display: flex;
  align-items: center;
}

これを追加することで、テキストとアイコンが以下のようにピタッと揃います。

  • ✔ テキストとアイコンが同じ高さに揃う
  • ✔ 下にズレる問題が解消
  • ✔ 見た目のバランスが良くなる

ブラウザで確認すると、とてもきれいに並んでいるのが分かりますよ。


▼ align-items が効かない?その場合にチェックするポイント

「align-items を使ったのに直らない…」
そんな場合は、以下を確認してみてください。

① アイコン画像の高さが不揃い

画像のサイズが大きかったり、比率が違うとズレの原因になります。

.item img {
  height: 24px;  /* お好みで調整 */
}

固定サイズを指定すると安定します。


② フォントサイズが大きすぎる/小さすぎる

テキストのライン高さ(line-height)が影響してズレることがあります。

.item span {
  line-height: 1;
}

line-height を適切にすると揃いやすくなります。


③ 画像の表示スタイルの問題

vertical-align などの影響を受けてズレる場合があります。

img {
  display: block;
}

ブロック化すると余計な余白が消えることもあります。


▼ まとめ:横並びでズレるときはまず align-items を使ってみよう!

テキストとアイコンを横並びにした時のズレは、初心者がよくつまずくポイントです。
しかし、原因と基本的な対処法を知っておけば簡単に解決できます。

● 今回のポイントまとめ

  • 横並びにしたときのズレはFlexboxの初期設定が原因
  • 親要素に align-items: center; を書けばきれいに揃う
  • それでもズレる場合は「画像サイズ」「line-height」「display」などを調整する

ちょっとした調整だけで見た目の印象が大きく変わるので、ぜひ試してみてくださいね。

その他関連記事はこちら→プログラミング備忘録

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初心者の私がコーディングをしていて躓いたところをピックアップして日々の備忘録として発信しています^^
楽しくコーディングを身に着けていけるように日々勉強中です★

コメント

コメントする

目次