トレンドカラーL

【cssの小技】レイアウトが崩れた!など

今回は、webサイト/webページ(ホームページ)づくりで起こり得るトラブルに対処する小技を紹介します。私がよく使う方法です。

cssを使ってデザインしている時に起こる
『レイアウトが崩れた!』『余白どうなってんねん?!』
主にそんな場合に使う小技です。

◆その前に大前提をおさらい

画像1

HTML上で文字をタグで囲むと
ブラウザでは無色透明で枠線も無い『箱』ができています。
その箱の「幅」はブラウザの左右いっぱいまで広がり
箱の「高さ」は箱内にある文字や画像の高さと同じになります。
つまり幅と高さは自動調整されています。

さらに『箱』は左右で「改行」がかかるので横並びできません
『箱』は積み下がって行きます。
いわゆる[ブロックレベル要素]というヤツです。

すべては『箱』でできている

「レイアウトが崩れた!」で役立つ小技

画像2

私がよく使うプロパティはアウトラインoutlineです。
アウトラインを引けば『箱』の状況がわかるので対処しやすくなります。

/*書き方例*/

/*書き方1*/
p{outline:1px solid #f00;}

/*書き方2*/
p{
outline:1px solid #f00;
}

/*書き方3*/
p {
    outline: 1px solid #f00;
}

書き方はみなさんそれぞれの入力方法でどうぞ

※入力の時に気を付ける点があります。
・値が必ず3ついること(順番はどれからでもOK)
・値と値の間は必ず半角スペースを入力すること

◆アウトラインとボーダーの違い

枠線を表示するプロパティにはボーダーborderもあります。
borderは箱の外側に線を引きますのでwidthやheightがあると、線の太さ分足されてしまうんです。(私がbox-sizingを使わないのもあります)

p {
    width: 100px;
    height: 100px;
    border: 1px solid #f00;
}

上記の例だと102pxになってしまいます。
つまり、レイアウトなどに影響してしまうんです。
outlineは線の太さ分を"足さない"んです。

もう1点、borderはtop,right,bottom,leftの辺の指定が可能ですが、outlineは指定ができません。

なので、私は使い分けしてます。
・デザインではborderを使う
・「箱」の状況確認のためだけにoutlineを使う(デザインには使わない)

終わった後のコメントアウト

アウトラインの設定後に削除するも良しなのですが、
そんな時にはコメントアウト /* */ を使いましょう。
設定が無効化されます。

/*コメントアウト例*/

p {
    /*outline: 1px solid #f00;*/
}

再度、アウトラインを表示したい場合は /* */を消せば良いんです。

コメントアウトの応用
自分の作ったコード/人の作ったコードで、よく分からない所が出てきた場合に、設定を消さずに無効化して、一つずつコメントアウトを消して行くと
設定が反映されて行きますので、どこに何の設定をしてるのか分かりやすくなります。

まとめ アウトラインとコメントアウト

レイアウトが崩れた!余白の状況を確認したい場合などに有効なのが
まずは『箱』を表示させること
アウトラインプロパティ(outline)を使うことで
状況が把握しやすくなります。

困った時のアウトライン、困ってなくてもアウトライン。

さらにコメントアウト( /* */ )を使うことで
設定を無効化できます。

困った時こそコメントアウト。

この記事が気に入ったらサポートをしてみませんか?