HTMLとCSSのコードを分解して読む|タグ・セレクタ・プロパティ・値の基本

glossaryサムネ
  • URLをコピーしました!

HTMLやCSSの記事を読んでいると、タグ、属性、class、セレクタ、プロパティ、値など、いろいろな言葉が出てきます。

最初は、用語を覚えるだけでも大変です。
けれど、これらの言葉は暗記するためのものではありません。

コードの中で、どの部分が何をしているのかを見分けるための目印です。

この記事では、HTMLに使うタグと、CSSに使うセレクタ・プロパティ・値を中心に、短いコードを分解しながら整理します。

この記事は、HTMLやCSSをこれから触る人、コピーしたコードのどこを直せばいいのか分からない人向けの基本メモです。専門用語を完璧に覚えるより、まずはコードの見分け方をつかむことを目的にしています。

目次

HTMLとCSSは役割が違う

まず、HTMLとCSSは同じ「コード」でも役割が違います。

種類役割イメージ
HTML文章、画像、リンク、見出しなど、ページの中身を作る骨組み・材料
CSS色、余白、文字サイズ、配置など、見た目を整える装飾・デザイン

見出しを置く、リンクを作る、画像を表示する。こうしたページの中身を作るのがHTMLです。

その見出しの色を変える、リンクに余白を付ける、画像の角を丸くする。こうした見た目を整えるのがCSSです。

この違いが分かると、コードを見たときに「これは中身の指定なのか」「これは見た目の指定なのか」を分けて考えられます。

HTMLを分解してタグを読む

HTMLでよく見る <a><img><li> などの記述をタグと呼びます。

タグは、「これはリンク」「これは画像」「これはリストの項目」と、その部分の役割をブラウザに伝えるためのものです。

<a class="entry-title" href="https://example.com/">最新記事を見る</a>

この1行は、ただ文字を並べているわけではありません。
ブラウザに対して、「これはリンクです」「この文字を表示します」「リンク先はここです」と伝えています。

部分名前役割
<a class="entry-title" href="https://example.com/">開始タグリンクの始まりと必要な情報を指定する
aタグ名リンクを表す
class="entry-title"class属性class が属性名、entry-title がclass名
href="https://example.com/"href属性href が属性名、URL部分が属性値
最新記事を見る要素の中身画面に表示されるリンクテキスト
</a>終了タグリンクの終わりを示す

<a ...> が開始タグ、</a> が終了タグです。開始タグ、中身、終了タグをまとめた全体が、1つのHTML要素になります。

HTMLを見るときは、まず「何のタグか」「どんな属性が付いているか」「画面に出る中身はどこか」を分けて見ると読みやすくなります。

classはCSSから指定するための目印

class="entry-title" のうち、class が属性名、entry-title がこの要素に付けたclass名です。

CSSと組み合わせると、このclass名が「どの部分のデザインを変えるのか」を見分けるための目印になります。

<a class="entry-title" href="https://example.com/">最新記事を見る</a>

このHTMLに対して、CSSでは次のように書きます。

.entry-title {
  color: #43577a;
}

HTML側では class="entry-title" と書きます。
CSS側では、class名の前に . を付けて .entry-title と書きます。

このつながりが分かると、CSSがHTMLのどこに効いているのかを追いやすくなります。

CSSを分解してセレクタ・プロパティ・値を読む

CSSでは、HTMLのどこを変えるのかを指定して、見た目を調整します。

基本となるのが、どこを変えるかを示すセレクタ、何を変えるかを示すプロパティ、どのように変えるかを示す値です。

.entry-title {
  color: #43577a;
  font-size: 18px;
}

CSSは、基本的に「誰を」「何を」「どう変えるか」で読みます。

部分名前役割
.entry-titleセレクタどのHTMLを変えるか指定する
{ }波かっここの中にデザイン指定を書く
colorプロパティ何を変えるか指定する
#43577aどのように変えるか指定する
font-sizeプロパティ文字サイズを変える項目
18px文字サイズの具体的な指定
;セミコロン1つの指定の終わりを示す

誰を変えるかがセレクタ。
何を変えるかがプロパティ。
どう変えるかが値です。

たとえば、次の指定は「.entry-title というclassが付いた部分の文字色を、#43577a にする」という意味です。

.entry-title {
  color: #43577a;
}

コードが長くなっても、基本の読み方は同じです。
セレクタを見て対象を確認し、プロパティと値を見て何を変えているのかを読みます。

よく出てくるセレクタの種類

CSSのセレクタには、いくつか種類があります。
最初に全部を覚える必要はありませんが、よく見るものだけでも意味を知っておくと、コードを読みやすくなります。

書き方名前意味
p要素セレクタ<p> など、HTMLタグ名で指定する
.entry-titleclassセレクタclass="entry-title" が付いた要素を指定する
#mainidセレクタid="main" が付いた要素を指定する
.entry-title:hover疑似クラスマウスを乗せたときなど、状態を指定する
.entry-title::before疑似要素要素の前など、特定の部分をCSSから扱う

特にclassセレクタの . はよく出てきます。
HTMLでは class="entry-title"、CSSでは .entry-title です。

この . を忘れると、class名を指定できません。
コピーしたCSSが効かないときは、HTML側のclass名とCSS側のセレクタがつながっているかを確認します。

初心者がつまずきやすい記号

HTMLやCSSでは、短い記号にも意味があります。

エラーの原因は、大きな考え方よりも、.#:; の付け忘れだったりします。

記号主な場所意味
.CSSclass名を呼び出す
#CSS / 色コードidを呼び出す、または色コードに使う
:CSS疑似クラスや、プロパティと値の区切りに使う
::CSS疑似要素に使う
{ }CSSセレクタに対する指定をまとめる
;CSS1つの指定の終わりを示す
" "HTML / CSS属性値や文字列を囲む

たとえば、次のCSSでは color#43577a の間に : が必要です。
また、指定の最後には ; を付けます。

.entry-title {
  color: #43577a;
}

CSSが効かないときは、いきなり難しい原因を疑う前に、記号の付け忘れや書き間違いを見ます。

疑似クラスは状態や順番を指定する

疑似クラスは、HTMLに直接書かれていない「状態」や「順番」をCSSで指定するためのものです。

.entry-title:hover {
  color: red;
}

:hover は、マウスを乗せたときの状態を指定する疑似クラスです。
この例では、リンクにマウスを乗せたときだけ文字色が赤くなります。

.entry-item:nth-child(1) {
  color: red;
}

:nth-child(1) は、親要素の中で1番目にある子要素を指定する疑似クラスです。
この例では、1番目の子要素に entry-item というclassが付いている場合に適用されます。

疑似クラスは、HTMLそのものを書き換えるのではなく、CSS側で状態や順番を見て指定します。

疑似要素はCSSから一部を作る

疑似要素は、指定した要素の一部をCSSから扱うための仕組みです。

.entry-title::before {
  content: "NEW";
}

::before を使うと、指定した要素の前に内容を追加できます。
この例では、タイトルの前に NEW という文字を表示します。

HTML本文を書き換えずに装飾用の文字や記号を足せるため、見出しの前にマークを付けたいときなどに使います。

疑似クラスは :hover のようにコロン1つ、疑似要素は ::before のようにコロン2つで書く形をよく見ます。まずは、状態を指定するのが疑似クラス、一部を作る・扱うのが疑似要素と分けて考えると整理しやすくなります。

ボックスモデルは余白を考えるための基本

CSSでは、文字や画像などの要素を箱として考えます。
この箱の内側や外側に余白を作る考え方が、ボックスモデルです。

.entry-item {
  padding: 15px;
  margin-bottom: 20px;
}
用語役割
padding箱の内側の余白
margin箱の外側の余白

padding は、中身と枠の間にゆとりを作ります。
margin は、要素同士の間隔を作ります。

余白が思った通りにならないときは、「内側の余白なのか」「外側の余白なのか」を分けて見ると整理しやすくなります。

コピーしたコードを直すときの見方

コードを読むときは、いきなり全体を理解しようとしなくて大丈夫です。

まずは、次の順番で見ます。

  • これはHTMLなのか、CSSなのか
  • HTMLなら、どのタグにどんなclass名が付いているのか
  • CSSなら、どのセレクタを指定しているのか
  • そのセレクタはHTML側のclass名やid名とつながっているのか
  • どのプロパティを変えているのか
  • 値を変えれば、目的の表示に近づくのか

たとえば、文字色だけを変えたいなら、まず color を探します。
余白を変えたいなら、marginpadding を見ます。

逆に、どこに効いているか分からないCSSを直すときは、セレクタを見ます。
.entry-title と書かれているなら、HTML側に class="entry-title" があるかを確認します。

CSSを直すときは、先にセレクタで対象を確認します。そのうえで、プロパティと値を見れば、どこを変えればいいのか判断しやすくなります。

コードは分解すると読みやすくなる

HTMLやCSSの用語は、ひとつずつ見ると難しく感じます。

けれど、実際のコードの中で見ると、それぞれの役割は見分けやすくなります。

用語見るポイント
タグHTMLでどのような役割を表しているか
属性HTMLにどんな情報を追加しているか
classCSSから指定するためにどんな名前が付いているか
セレクタCSSでどの部分を指定しているか
プロパティ何を変えようとしているか
どのように変えようとしているか
疑似クラス状態や順番を指定しているか
疑似要素要素の一部をCSSから扱っているか

コードが読みにくいときは、まず「これはHTMLなのかCSSなのか」「どこを指定しているのか」「何を変えようとしているのか」を分けて見ます。

それだけでも、コピーしたコードを少し直したいときや、自分のサイトのデザインを調整したいときに、触る場所を見つけやすくなります。

参考にしやすい公式リファレンス

この記事では、コードを読むための基本だけを整理しました。

HTMLやCSSの仕様を詳しく確認したい場合は、MDN Web Docsのリファレンスを見ると確認しやすいです。

最初から公式リファレンスを全部読む必要はありません。
分からない用語が出てきたときに、少しずつ確認していけば十分です。

まとめ|用語は暗記ではなく、コードを読むための目印

HTMLやCSSの基本用語は、最初からすべて暗記する必要はありません。

HTMLで使うタグは、その部分の役割をブラウザに伝えます。

CSSでは、セレクタでどこを変えるかを指定し、プロパティで何を変えるか、値でどのように変えるかを指定します。

タグ、セレクタ、プロパティ、値は、コードの中で「どの部分が何をしているのか」を知るための目印です。

コードが分からなくなったときは、いきなり全体を理解しようとせず、短く分けて見ます。

これはHTMLなのかCSSなのか。
どこを指定しているのか。
何を変えようとしているのか。

そこから見ていけば、コピーしたコードを直すときも、自分のサイトのデザインを調整するときも、触る場所を見つけやすくなります。

  • URLをコピーしました!

コメント

コメントする

目次