【トラブル対処法】
1.CSSが反映されない2.意図した指定ができない3.marginが効かない4.背景色・背景画像が出ない5.レイアウトが崩れた

トラブル対処法1.CSSが反映されない

  1. 全てのCSSが反映されない
    • headタグ内に外部CSSファイルの指定がありますか?記述の仕方は合っていますか?
    • 外部CSSファイルのパスが間違えていませんか?
      混乱するようであれば一度HTMLとCSSを同じフォルダ内に保存して試しましょう。
  2. 一部のCSSが反映されない
    • セレクタの指定は正しいですか?
    • Id(#id名)・class(.class名)の指定を間違えていませんか?
    • 記述したキーワードのスペルは合っていますか?
    • 前後のCSSの記述に間違い、漏れはありませんか?(記号:、;、{}・スペースは全て半角で記述)

トラブル対処法2.意図した指定ができない

  1. id、class名を付けずにCSSを一部にだけ反映させたい
    • 親要素のidを利用して子孫セレクタを使いましょう。 →セレクタの指定について
      ひとつのページだけに指定したい場合は、そのページのHTMLのbodyタグにidを付けます。
  2. ボックス、画像を中央に寄せたい
    • ボックス、画像に対してtext-align:center;は効きません。ボックスにwidthを指定して、margin-left:auto;margin-right:auto;を指定します。
    • auto;の指定がうまくいかないときは、ボックスの大きさに合わせてmargin-leftを20~40%で調整します。
      ただし、この場合画面サイズによって多少のずれが生じます。
    • 画像の垂直方向に対して中央に揃えたい場合は、vertical-align:middle;を指定します。

トラブル対処法3.marginが効かない

  1. 周囲にfloatを指定している
    • floatしたボックスの親要素に大してmarginを指定したい場合はclearfixを使用します。
    •  
    • floatしたボックスに回り込ませたボックスの横marginを指定したい場合は、 floatしたボックスのwidthも含めた値を指定します。
  2. 周囲にposition:absolute;又はfixed;を指定している
    • 絶対配置したボックスにはmarginの指定はできません。top、left、bottom、rightプロパティで座標を変えましょう。
  3. 上記以外
    • CSSの他の部分でmarginを重複して指定していませんか?
    • margin-topの指定は、上部に位置するボックスのmargin-bottomの指定と重複しない仕様になっています。

トラブル対処法4.背景色・背景画像が出ない

  1. 周囲にfloatを指定している
    • floatした要素は親ボックスにとって無いものと判断されます。
      親ボックスにheightを指定するか、他のfloatを指定しないボックスを用意します。
  2. 上記以外
    • CSSの記述は正しいですか?画像のパスを間違えていませんか?
    • 子要素に別の背景を指定したボックスがありませんか?

トラブル対処法5.レイアウトが崩れた

  1. 周囲にfloatを指定している
    • floatさせたくないボックスにclear:both;の指定をします。
  2. 周囲にposition:absolute;又はfixed;を指定している
    • position:relative;の指定がありますか?ブラウザによってこの指定がないと表示が崩れる場合があります。
    • 親要素にpositionを指定したボックスがありませんか? absolute;、fixed;は親要素の近い関係に指定されたpositionプロパティを基準として配置されます。
  3. 上記以外
    • HTMLの記述に間違いはありませんか?タグの開始・閉じが正しく記述されてますか?
    • CSSの他の部分に重複した指定はありませんか?