

こんにちは。masaでございます。
CSSを書いていて「なんで効かないの?」と手が止まったことはありませんか?
実は、CSSで初心者がつまずくポイントはある程度パターンが決まっています。
この記事では、特にハマりやすい5つに絞って、原因と解決方法を解説します。
「前面に出したいのに、要素が後ろに隠れる…」
z-indexを指定している要素に、positionが指定されていない。
.box {
position: relative;
z-index: 10;
}
z-indexには必ずposition!
「親の中に配置したいのに、画面の端に行ってしまう…」
基準になる親にpositionがついていない。
.parent {
position: relative;
}
.child {
position: absolute;
top: 0;
left: 0;
}
子は親を見て育つ!
「なんだか画像の下にちょっと隙間ができる…」
imgはデフォルトがinline要素のため、文字と同じ扱いになる。
img {
display: block;
}
画像はとりあえずdisplay: blockでOK!
「width: 100%にしたのに、はみ出る…」
paddingやborderが別で加算されている。
* {
box-sizing: border-box;
}
最初に全体へ指定しておくのが定番!
「中央にしたいのに、なぜかズレる…」
justify-contentとalign-itemsの役割を混同している。
.container {
display: flex;
justify-content: center; /* 横方向 */
align-items: center; /* 縦方向 */
}
flexは「向き」を意識するのがコツ!
コーディングを始めたばかりの頃は「なんで?」の連続です。
そのせいで作業時間が膨大になることも珍しくありません。
この記事が、少しでも皆様のつまずきを減らし、悩みの少ない快適なコーディングライフにつながることを切に願ってやまない日々を送り続けてまいります。
ではまた次回に!

山口県育ちの音楽大好きおっちゃんです。10年ほど関東にいましたが、Uターンで地元山口に帰ってきました。山口のことや、Webのことなど、さまざまな情報を共有していければと思います。どうぞ何卒よろしくお願いいたします。
REC.