なぜかズレる…?リストの「謎の余白」を消し去るCSSリセットの極意
Web制作の学習を始めたばかりの皆さん、こんにちは!
HTMLでメニューや箇条書きを作るとき、`
- ` や `
- ` を書いてブラウザで表示してみると、「あれ、何も指定してないのになぜか左側に隙間ができるぞ……?」 と不思議に思ったことはありませんか?
実はこれ、皆さんのコードが間違っているわけではありません。ブラウザが親切心で勝手に用意してくれている「初期設定」という名の「余白(マージンやパディング)」が原因なんです。
今日は、この「勝手な余白」をきれいに掃除して、自分好みのデザインを自由に描くための「リセット術」を、一緒にひも解いていきましょう!
—
なぜブラウザは勝手に余白を作るの?
想像してみてください。あなたは今、まっさらな画用紙に絵を描こうとしています。でも、画用紙を広げた瞬間、最初から誰かが端っこに薄く枠線を引いていたらどうでしょう?
ブラウザもこれと同じで、「リスト(箇条書き)なら、きっと左側に少しスペースがあった方が読みやすいよね!」と、良かれと思って「デフォルトスタイル」という名の余白を勝手に付けているんです。
でも、私たちがプロとしてWebサイトを作る時、この「勝手な余白」は、計算したデザインを崩す最大の敵になります。だからこそ、「まずは一旦、まっさらな状態に戻す」という作業が必要になるんですね。
—
リストの余白を「ゼロ」にする魔法の呪文
では、実際にCSSを使ってこの余白をリセットしてみましょう。やることはとってもシンプルです。リストに対して「余白(margin)も、内側の隙間(padding)も、全部ゼロにしてください!」と伝えてあげるだけです。
以下のコードを、あなたのCSSファイルに貼り付けてみてください。
/ リストタグのデフォルトスタイルをリセットする /
ul, ol, dl, dt, dd, li {
margin: 0; / 外側の余白を消す /
padding: 0; / 内側の余白を消す /
list-style: none; / 箇条書きの「点(黒丸)」を消す /
}コードのポイント解説
- margin: 0;:要素の外側にある余白を消します。これで要素がピタッとくっつきます。
- padding: 0;:要素の内側にある余白を消します。これでリストの左側にあった謎のスペースが消えます。
- list-style: none;:ここが重要です!`
- ` を使うと必ず付いてくる「黒い点(ビュレット)」を消してくれます。これがないと、どんなにレイアウトを整えても、ポツンと点が残ってデザインが台無しになってしまいますよね。
—
現場の知恵:dl, dt, dd も忘れずに!
初心者のうちは `
- ` や `
- `、`
- ` も同じようにデフォルトで余白が設定されています。
「なぜかこの見出し(dt)だけ、妙に隙間が空くなぁ……」と思ったら、それはCSSリセットを忘れているサイン。先ほどのコードのように、まとめてリセットしてあげるのが、現場で働くフロントエンドエンジニアの「定石」です。
—
最後に:怖がらなくて大丈夫ですよ!
「CSSでリセットするなんて、なんだか大掛かりなことをしているみたいで怖い……」と思う必要はありません。
これは、おいしい料理を作るために「まずまな板の上をきれいに拭く」のと同じくらい、ごく自然で大切な下準備です。この一手間をかけるだけで、後のレイアウト調整が劇的に楽になりますし、何より「自分の意図した通りにデザインが動く」という感動を味わえるはずです。
もし途中でレイアウトが崩れてしまっても大丈夫。ブラウザの「検証ツール(F12キー)」で要素を覗いてみれば、どこに余白が残っているか一目瞭然です。
さあ、皆さんもまずはこの「まっさらなキャンバス」を作るところから、理想のWebサイト作りを楽しんでみてくださいね!応援しています!
- ` だけに意識が向きがちですが、用語リストとして使う `
- ` や `

コメント