会員ログイン
HTML基礎

コーディングの必須事項。重要な要素に意識を向けよう!

HTMLのコーディングにおける重要事項
はじめに
概要

この記事では、コーディングの必須事項。重要な要素に意識を向けよう!について、役割、基本的な進め方、実装後に確認したいポイントを初心者にも分かりやすく解説します。手順をそのまま試すだけでなく、なぜ必要なのかを理解して、自分の制作環境へ合わせて判断できることを目指します。

※本記事の情報は執筆時点のものです。ソフトウェアやサービスの仕様は変更される場合があるため、実際の画面や公式情報も合わせてご確認ください。
疑問を持つ読者のイラスト読者

コーディングの必須事項。重要な要素に意識を向けよう!は、最初にどこを理解するとよいですか?

著者・木村のプロフィール写真木村

目的、作業手順、確認方法の三つに分けて読むと、仕組みと実装のつながりを理解しやすくなります。

話を聞く読者のイラスト読者

実際に試すときは、手順だけでなく確認方法も知っておいた方がよいでしょうか?

著者・木村のプロフィール写真木村

はい。この記事では、作業の目的から実装後の確認までを順番に整理します。自分の環境と照らし合わせながら読み進めてください。

コーディングにおいて意識すべき要点は以下の通りです。 上記の3点は非常に重要ですので、詳しく説明していきます。

下に記述した内容が上書きされ、優先される

下に記述した内容が上書きされ、優先されるでは、コーディングの必須事項。重要な要素に意識を向けよう!を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。

【基礎編】 以下の図とコードで解説いたします。
<div class="box">

 <div class="box__inner">

  <div class="box__body box1 bg-blue">box1</div>

  <div class="box__body box2 bg-black">box2</div>

 </div><!-- /.box__inner -->

</div><!-- /.box -->
.bg-blue {
  background-color: #3898e0;
}

.bg-black {
  background-color: #323232;
}

.box {
  border: 1px solid #d5dfef;
}
.box__inner {
  justify-content: center;
  padding: 50px 0;
}
.box__body {
  width: 300px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  font-size: 1.5em;
}
.box .box1 {
  margin: 0 auto;
}
.box .box2 {
  margin-top: 20px;
  margin: 0 auto;
}
以下の図は上記コードの内容です。 問題点として28行目から31行目において、box1とbox2の間にmargin-top: 20px;の余白が適応されていません。
※ここの余白が適応されていません。
box1
box2
この場合、後に記述した margin: 0 auto;は上下左右にmarginが適応されます。つまり、先に設定した margin-top: 20px; は上書きされることにより、margin-top: 20px;が効かなくなります。もしmargin-top: 20px;を適応するためには以下のように記述します。
margin: 0 auto;
margin-top: 20px;
box1
box2
これにより、margin-top: 20px;も適応されることとなります。基本的なことですが、重要な内容になります。
【応用編】 以下は誤った配置の例です。
<link href="./stylesheets/style.css" rel="stylesheet" />
<link href="./stylesheets/reset.css" rel="stylesheet"/>
reset.cssはデフォルトのデザインを初期化するためのCSSファイルです。ただし、上記の配置ではreset.cssが自身が作成したデザインを上書きしてしまい、正しく表示されなくなる可能性があります。
<script src="js/index.js"></script>
<link href="./stylesheets/style.css" rel="stylesheet" />
jsファイルの読み込みは、通常はHTMLの読み込みが完了してから行うことが推奨されています。これにより、レンダリングが妨げられず、スムーズなページロードが実現できます。上記の配置では、HTMLファイルの前にjsファイルが配置されているため、サイトの読み込みスピードに影響を及ぼしてしまいます。そのため、jsファイルはタグの閉じタグの直前に配置することが推奨されています。

下に記述した内容が上書きされ、優先されるで押さえたいポイント

下に記述した内容が上書きされ、優先されるは、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。

下に記述した内容が上書きされ、優先されるの確認方法

変更前後を比較し、想定した結果だけでなく、別の画面幅や未入力などの例外条件でも問題がないか確認します。

クラスの詳細度を理解する

クラスの詳細度を理解するでは、コーディングの必須事項。重要な要素に意識を向けよう!を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。

先述の内容では、一般的な優先度について述べましたが、それに当てはまらない詳細度という特殊なケースが存在します。 以下はCSSの詳細度について、具体的なコード例を通じて深く理解していきましょう。 1.クラスセレクタのみの場合:
.my-class {
  color: red;
}
この場合、.my-classクラスの詳細は1です。 2.タグセレクタとクラスセレクタの組み合わせの場合:
div.my-class {
  color: red;
}
この場合、div.my-classの詳細度は10です。タグセレクタは1の詳細度を持ち、クラスセレクタは10の詳細度を持つため、組み合わせることで詳細度が加算されます。 なお、次の例は記述は似ていますが内容はまったくの別のものになりますので注意が必要です。※詳細はこちらの子孫セレクタについてを参照ください。 3.親子セレクタとクラスセレクタの組み合わせの場合:
div .my-class {
  color: red;
}
この場合、div  .my-classの詳細度は11です。親子セレクタは10の詳細度を持つため、組み合わせることで詳細度が加算されます。divと.my-classの間にスペースを入れるとdivの中の.my-classという意味になります。 4.IDセレクタとクラスセレクタの組み合わせの場合:
#my-id .my-class {
  color: red;
}
この場合、#my-id  .my-classの詳細度は101です。IDセレクタは100の詳細度を持つため、組み合わさることで詳細度が加算されます。 これらは一部の例ですが、セレクタの種類や組み合わせによって詳細度が変化します。詳細度が高いほど、そのスタイルが適用されやすくなります。詳細度が同じ場合は、後に指定されたスタイルが優先されます。詳細度の理解と適切な使用は、CSSスタイル設計や競合の解決に重要です。 【応用編】 以下のHTMLコードを考えます:
<div id="container">
  <p class="text">Hello, world!</p>
</div>
そして、以下のCSSコードが適用されるとします:
#container p.text {
  color: blue;
}

p {
  color: red;
}
この場合、<p>要素のテキストの色はどのようになるでしょうか? まず、セレクタ#container p.textはIDセレクタ#containerとクラスセレクタp.textの組み合わせで構成されています。IDセレクタはクラスセレクタよりも詳細度が高いため、詳細度は101となります。 一方、セレクタpは単独のタグセレクタであり、詳細度は1です。 詳細度の高いスタイルが適用される原則に従うと、<p>要素のテキストの色は青になるはずです。つまり、color: blue;が適用されます。詳細度によっては下に記述した内容も上書きされないことに注意が必要です。

クラスの詳細度を理解するで押さえたいポイント

クラスの詳細度を理解するは、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。

クラスの詳細度を理解するの確認方法

変更前後を比較し、想定した結果だけでなく、別の画面幅や未入力などの例外条件でも問題がないか確認します。

親子関係と継承について理解する。

親子関係と継承について理解する。では、コーディングの必須事項。重要な要素に意識を向けよう!を理解・実装するために必要な考え方と、作業時に確認したい点を整理します。最初に役割を把握してから、記事内の手順へ進みましょう。

【基礎編】 HTMLとCSSを使用した簡潔な例です。 HTML:
<div class="parent">これは親要素です。
  <div class="child">これは子要素です。
   <div class="grandchild">これは孫要素です。</div>
  </div>
</div>
以下のようになります。 こちらの要素全てに対して、font-size: 20px;color: #3898e0;text-align: center;を適応するために継承を利用した指定を考えて見てください。
これは親要素です。
これは子要素です。
これは孫要素です。
答えは親要素に以下の指定を記述します。 CSS:
.parent {
  color: #3898e0;
  font-size: 20px;
  text-align: center;
}
これは親要素です。
これは子要素です。
これは孫要素です。
このように親要素に指定した内容が継承され、全ての要素に適応されていることがわかります。 もう一つ今度はプロック要素とインライン要素を組み合わせたときの挙動にについて見てみましょう。※ブロック要素とインライン要素についてこちらをご参照ください。
<div class="box">
  <div class="box__inner wrap-200">
    <img src="./images/icon/html.png" alt="">
  </div>
</div>
以下が表示されます。 そこで、この親要素にtext-aligh: center;を指定ときの挙動について考えてみましょう。
親子関係と継承を意識したHTML構造の例
.box {
  text-align: center;
}
答えは以下のようになります。
親子関係と継承を意識したHTML構造の例
imgタグは本来インライン要素ですので、直接text-align: center;を指定しても中央に配置されません。しかし、ブロック要素の子要素として配置することで、親要素の指定が適用され、中央に配置されるようになります。
【統括】 本来、bodyタグは通常、全ての要素の親要素として配置されます。したがって、bodyタグで指定されたスタイルや内容は、その要素の子要素や孫要素に影響を与えることになります。一般的なHTMLの構造では、bodyタグ内でフォントや行間などの全体的なスタイルを指定し、必要に応じて特定の要素に異なるスタイルを適用してデザインを形成します。ただし、スタイルの適用関係はCSSの仕様に基づいて処理されるため、優先度や詳細度に配慮しながらスタイル指定を行う必要があります。 なお、JavaScriptによってこれらの考え方を応用し、イベントを追加する際にはbodyタグや親要素を意識し、クラスを付与することで柔軟なデザインの変更が可能になります。※詳細については、こちらのハンバーガーメニューの実装を参照ください。

親子関係と継承について理解する。で押さえたいポイント

親子関係と継承について理解する。は、コードや設定だけを切り離して覚えるより、何を変えるための処理なのかを確認してから試すと理解しやすくなります。変更前の状態を控え、作業を一つずつ反映すると、問題が起きた場所も特定しやすくなります。

親子関係と継承について理解する。の確認方法

変更前後を比較し、想定した結果だけでなく、別の画面幅や未入力などの例外条件でも問題がないか確認します。

まとめ

  • コーディングの必須事項。重要な要素に意識を向けよう!は、目的と役割を理解してから手順を試すと応用しやすい
  • 変更前の状態を残し、一つずつ反映すると問題の原因を切り分けやすい
  • 変更前後を比較し、想定した結果だけでなく、別の画面幅や未入力などの例外条件でも問題がないか確認します。

MEMBER COMMENTS

コメント(0件)

会員ログイン後にコメントできます

記事への質問や感想をコメントで共有できます。無料会員登録後もこの記事へ戻れます。