カテゴリー

  • プログラミング
  • 英語学習
  • 海外
  • キャリア
  • Kredo
Kredoオンラインキャンプ
KredoIT留学
無料カウンセリングはこちら
Kredoオンラインキャンプ体験談
KredoIT留学体験談
外貨を稼ぐ!海外フリーランス無料セミナー
未経験から即戦力ITグローバル人材 無料セミナー
Kredo Blog 英語・IT・AIで、人生の選択肢を広げる。
無料ウェビナー参加 ↗ 無料カウンセリング予約無料相談↗
MENU
EXPLORE KREDO BLOG

知りたいことから、世界が広がる。

ブログTOP ↗
留学・セブSTUDY & LIFE
留学・セブの記事をすべて読む ↗ 海外留学→海外移住→海外就職→
英語学習ENGLISH
英語学習の記事をすべて読む ↗ 英語学習法→英語フレーズ→
IT・AITECH & CREATIVITY
IT・AIの記事をすべて読む ↗ プログラミング学習→プログラミング知識→AI・テクノロジー→デザイン→
キャリアYOUR NEXT CHAPTER
キャリアの記事をすべて読む ↗ 転職情報→キャリアデザイン→
KredoOUR SCHOOL
Kredoの記事をすべて読む ↗ ニュース・キャンペーン→セブ島情報→インタビュー→
STUDENT DIARIES留学生のリアルな日記noteの体験記を読む ↗YouTube・Instagramで留学を知る ↗
記事を探す ブログTOP
留学・セブ
STUDY & LIFEセブで学ぶ。海外で暮らす。留学の準備から、現地の毎日まで。
留学・セブを知るすべての記事 ↗
海外留学費用・期間・学校選びを知る↗海外移住海外で暮らすためのヒント↗海外就職世界で働く選択肢を探す↗
FROM CEBU / note留学生の、
リアルな毎日。
写真とことばで読む留学日記日記を読む ↗
英語学習
ENGLISH英語が、世界を近くする。学び方と、今日から使える英語。
英語学習を知るすべての記事 ↗
英語学習法自分に合った学び方を見つける↗英語フレーズ会話で使える表現を読む↗
FROM CEBU / note留学生の、
リアルな毎日。
写真とことばで読む留学日記日記を読む ↗
IT・AI
TECH & CREATIVITYつくる力を、次の一歩に。プログラミングとAIをもっと身近に。
IT・AIを知るすべての記事 ↗
プログラミング学習はじめ方・学び方を知る↗プログラミング知識仕組みやスキルを深める↗AI・テクノロジーAIの活かし方と最新の話題↗デザイン伝わるものづくりのヒント↗
FROM CEBU / note留学生の、
リアルな毎日。
写真とことばで読む留学日記日記を読む ↗
キャリア
YOUR NEXT CHAPTER学びの先の、働き方。転職・海外就職・これからのキャリア。
キャリアを知るすべての記事 ↗
転職情報次の仕事へ向かう準備↗キャリアデザイン自分らしい働き方を考える↗
FROM CEBU / note留学生の、
リアルな毎日。
写真とことばで読む留学日記日記を読む ↗
Kredo
OUR SCHOOLKredoを、もっと知る。学校のこと、セブのこと、学ぶ人のこと。
Kredoを知るすべての記事 ↗
ニュース・キャンペーンKredoからのお知らせ↗セブ島情報現地の暮らしを知る↗インタビュー受講生・卒業生の声を読む↗
FROM CEBU / note留学生の、
リアルな毎日。
写真とことばで読む留学日記日記を読む ↗
留学日記 ↗

ENGLISH · IT · AI / STUDY IN CEBU

学ぶって、冒険だ。

英語・IT・AIで、人生の選択肢を広げよう。

留学の無料相談へ ↗Kredo Blogを読む →
JAPAN✈CEBU
Kredoで、講師と一緒に英語とITを学ぶ受講生
LEARN SOMETHING NEW.
セブの海を望む場所で学ぶ日常
HELLO, NEW WORLD.
  • TOP
  • プログラミング
  • Web・プログラミング(知識)
  • CSS記号の意味一覧|#・.・>・+・&を図解とコードで理解

CSS記号の意味一覧|#・.・>・+・&を図解とコードで理解

アバター画像
Kredo編集部
公開日:2023.04.20
更新日:2026.10.10
Web・プログラミング(知識) |
CSSの記号を図とコードで学ぶタイトルと、Webページを制作するノートパソコンの手元

CSSの記号の多くは、「どの要素に見た目を指定するか」を選ぶセレクタで使われます。たとえば「.」はクラス、「#」はID、「*」はすべての要素、「>」は直下の子要素、「+」「~」は後ろにある兄弟要素、「[]」は属性、「:」「::」は状態や要素の一部、「&」は入れ子(ネスト)の中の親を表します。まずは下の一覧表で意味を確認し、気になる記号はコード例で使い方を確かめてください。

この記事では、CSSで使う記号の意味を一覧表で整理したうえで、CSSの基本の書き方・読み込み方、記号ごとの使い方、つまずきやすいポイントを初心者向けに解説します。図で対象の要素を確認し、続くコード例で実際の動きを確かめましょう。

内容確認:2026年10月5日。主なセレクターの例はブラウザで表示・適用対象を検証しています。

記事のもくじ

  • CSSで使う記号の意味一覧表
    • セレクタで使う記号
    • セレクタ以外で使う記号
  • CSSとは?意味と基本の使い方
    • CSSの基本の書き方
    • CSSをHTMLに読み込む3つの方法
  • セレクタで使う記号の意味と使い方(コード例つき)
    • 「.」(ドット):クラスセレクタ
    • 「#」(シャープ):IDセレクタ
    • HTMLの「#」(シャープ)はページ内リンクの意味
    • 「*」(アスタリスク):全称セレクタ
    • 「,」(カンマ):複数のセレクタをまとめる
    • 半角スペースと「>」:子孫と子の違い
    • 「+」と「~」:後ろにある兄弟要素
    • 「[ ]」:属性セレクタ(^=・$=・*=)
    • 「:」:擬似クラス
    • 「::」:擬似要素
    • 「&」:ネスト(入れ子)で親セレクタを表す
  • セレクタ以外で使う記号の意味と使い方
    • 「$」:属性セレクタの後方一致とSassの変数
    • ハイフン2つ(--):カスタムプロパティ(CSS変数)
    • 「#」:カラーコード
    • 「@」:アットルール
    • 「!important」:指定を優先させる
    • 「+」「-」「*」「/」:calc()で計算する
    • 「/* */」:コメント
  • 記号を組み合わせたセレクタの読み方
    • どの指定が優先される?(詳細度)
  • CSSの記号でつまずきやすいポイント
  • 英語の用語で調べながら、CSSの理解を深める
  • CSSの記号についてよくある質問
    • CSSの「#」と「.」の違いは?
    • CSSの「*」(アスタリスク)はどういう意味?
    • CSSの「>」と半角スペースの違いは?
    • CSSの「&」はSassでしか使えない?
    • CSSの「$」は何の記号?
    • HTMLの「#」(シャープ)はどういう意味?
  • まとめ:記号の意味がわかればCSSは読める

CSSで使う記号の意味一覧表

CSSでよく使う記号を、セレクタで使うものとそれ以外に分けてまとめました。「例」の列はそのままCSSに書ける形です。

セレクタで使う記号

記号 呼び方 意味 例
. ドット(クラスセレクタ) 指定したclassを持つ要素 .note { }
# シャープ(IDセレクタ) 指定したidを持つ要素 #site-header { }
* アスタリスク(全称セレクタ) すべての要素 * { margin: 0; }
, カンマ(セレクタリスト) 複数のセレクタに同じスタイルを指定 h1, h2 { }
半角スペース 子孫結合子 中にある要素すべて(子・孫・ひ孫…) .menu p { }
> 子結合子 直下の子要素だけ .menu > p { }
+ 次兄弟結合子 すぐ後ろにある兄弟要素1つだけ h2 + p { }
~ 後続兄弟結合子 後ろにある兄弟要素すべて h2 ~ p { }
[ ] 属性セレクタ 属性や属性値で選ぶ a[target] { }
^= $= *= 属性値の一致条件 前方一致・後方一致・部分一致 a[href$=".pdf"] { }
: 擬似クラス 状態(マウスが乗った等)や位置で選ぶ a:hover { }
:: 擬似要素 要素の一部や前後に追加する部分 p::first-letter { }
& ネストセレクタ 入れ子の中で親のセレクタを表す .card { &:hover { } }

セレクタ以外で使う記号

記号 意味 例
{ } : ; スタイルのまとまり/プロパティと値の区切り/1つの指定の終わり p { color: red; }
# カラーコード(16進数)の始まり color: #ff0000;
@ アットルール(条件や読み込みなどの特別な命令) @media (max-width: 600px) { }
!important その指定を優先させる color: red !important;
ハイフン2つ(--名前) カスタムプロパティ(CSS変数) --main-color: #0066cc;
$ 属性セレクタの後方一致($=)、またはSassの変数 $main-color: #0066cc;(Sass)
+ - * / calc()の中での計算 width: calc(100% - 40px);
/* */ コメント(メモ書き) /* ヘッダー */

同じ記号でも、書く場所によって意味が変わるものがあります。たとえば「#」はセレクタではIDですが、値の中ではカラーコードです。「*」も単独ならすべての要素、[href*="..."]の中なら部分一致を表します。

CSSとは?意味と基本の使い方

CSS(Cascading Style Sheets、カスケーディング・スタイル・シート)は、Webページの見た目を指定する言語です。HTMLで「見出し」「段落」などの中身と構造を作り、CSSで文字の色や大きさ、余白、レイアウトを指定します。

CSSの基本の書き方

CSSのpが対象、colorが性質、greenが値を表す図
対象・プロパティ・値の対応を、短い指定から読み取ります。

CSSは「どの要素に(セレクタ)」「何を(プロパティ)」「どうする(値)」の組み合わせで書きます。

p {
  color: blue;
  font-size: 16px;
}
  1. p:セレクタ。ここではすべての<p>要素(段落)が対象です
  2. color、font-size:プロパティ(変えたい性質)
  3. blue、16px:値
  4. { }で指定をまとめ、プロパティと値は「:」(コロン)で区切り、1つの指定の終わりに「;」(セミコロン)を付けます

CSSをHTMLに読み込む3つの方法

CSSをHTMLに反映させる方法は3つあります。サイト全体で同じデザインを使い回せるため、基本は1つ目の外部ファイルを読み込む方法を使います。

方法 書く場所 向いている場面
外部CSSファイルを読み込む <head>内の<link>要素 サイト全体。複数ページで同じCSSを使う
<style>要素に書く <head>内の<style>要素 そのページだけのスタイル、練習用
style属性に書く 各要素のstyle属性 一時的な確認。多用すると管理しにくい
<!-- 1. 外部CSSファイル(style.css)を読み込む -->
<head>
  <link rel="stylesheet" href="style.css">
</head>

<!-- 2. style要素に書く -->
<head>
  <style>
    p { color: blue; }
  </style>
</head>

<!-- 3. style属性に書く -->
<p style="color: blue;">青い文字</p>

HTMLとCSSの役割の違いをもう少し詳しく知りたい方は「HTMLとCSSの具体的な違いから学習方法・使い方まとめ」も参考にしてください。

セレクタで使う記号の意味と使い方(コード例つき)

ここからは記号ごとに、HTMLとCSSのコード例で使い方を説明します。コードはそのまま貼り付けて試せます。

「.」(ドット):クラスセレクタ

「.」は、指定したclass名を持つ要素を選びます。classは同じページの中で何度でも使えるため、CSSで最もよく使うセレクタです。1つの要素に複数のclassを付けることもでき、.note.warningのように「.」を続けて書くと「両方のclassを持つ要素」になります。

<p class="note">クラスnoteの段落</p>
<p>classのない段落</p>
<p class="note warning">クラスを2つ持つ段落</p>
.note {
  color: green;
}
.note.warning {
  font-weight: bold;
}

1つ目と3つ目の段落が緑色になり、noteとwarningの両方を持つ3つ目だけが太字になります。2つ目の段落は変わりません。

「#」(シャープ):IDセレクタ

「#」は、指定したid名を持つ要素を選びます。idは1つのページの中で同じ名前を1回しか使えません。ヘッダーやフッターなど、ページに1つしかない部分に使われます。

<header id="site-header">サイトのヘッダー</header>
#site-header {
  background-color: #333;
  color: #fff;
}

ヘッダーの背景が濃いグレー、文字が白になります。この例の#333や#fffはIDではなく、後で説明するカラーコードです。

なお、IDセレクタはクラスセレクタより優先順位(詳細度)が高いため、IDでスタイルを指定しすぎると後から上書きしにくくなります。見た目の指定は基本的にclassを使い、IDはページ内リンクやJavaScriptから要素を探すときに使う、と分けると管理しやすくなります。

HTMLの「#」(シャープ)はページ内リンクの意味

HTMLでは、<a href="#contact">のように「#」の後にid名を書くと、同じページ内のid="contact"の要素へ移動するリンクになります。href="#"だけの場合はページの先頭へ移動します。

<a href="#contact">お問い合わせへ移動</a>

<section id="contact">
  <h2>お問い合わせ</h2>
</section>

「*」(アスタリスク):全称セレクタ

「*」は、すべての要素を選びます。ページ全体の設定をそろえる「リセット」によく使われます。次の例は、すべての要素と、その前後に追加される部分(::before、::after)で、幅(width)に内側の余白(padding)と枠線(border)を含めて計算するように指定しています。

*,
*::before,
*::after {
  box-sizing: border-box;
}

.card *のように書くと、「class=”card”の要素の中にあるすべての要素」になります。

「,」(カンマ):複数のセレクタをまとめる

「,」で区切ると、複数のセレクタに同じスタイルをまとめて指定できます。

h1, h2, h3 {
  color: navy;
}

h1、h2、h3の見出しがすべて紺色になります。

半角スペースと「>」:子孫と子の違い

半角スペースは子と孫のp、子結合子は直下のpだけを選ぶ比較図
チェックは、指定したセレクターに一致する要素を表します。

セレクタの間の半角スペースは「中にある要素すべて(子・孫・ひ孫…)」、「>」は「直下の子要素だけ」を表します。違いは次の例でわかります。

<div class="menu">
  <p>子要素のp</p>
  <section>
    <p>孫要素のp</p>
  </section>
</div>
/* 半角スペース:子も孫も対象 */
.menu p {
  color: red;
}
/* >:直下の子だけが対象 */
.menu > p {
  font-weight: bold;
}

2つの段落はどちらも赤くなりますが、太字になるのは.menuの直下にある「子要素のp」だけです。「孫要素のp」はsectionの中にあるため、.menu > pの対象になりません。

「+」と「~」:後ろにある兄弟要素

h2 + pは直後のpだけ、h2 ~ pは同じ親の中で後続するpを選ぶ図
p 1・p 2・p 3は説明用の呼び名です。divはpに一致しないため選びません。

「+」はすぐ後ろにある兄弟要素1つだけ、「~」は後ろにある兄弟要素すべてを選びます。兄弟要素とは、同じ親要素の中に並んでいる要素のことです。

<h2>見出し</h2>
<p>1つ目の段落</p>
<p>2つ目の段落</p>
<div>区切りのdiv</div>
<p>3つ目の段落</p>
h2 + p {
  color: red;
}
h2 ~ p {
  text-decoration: underline;
}

赤くなるのはh2のすぐ後ろにある「1つ目の段落」だけです。下線は、h2より後ろにあるpすべて(1つ目・2つ目・3つ目)に付きます。「~」は間に別の要素(この例ではdiv)があっても対象になります。どちらも「前にある」要素は選べません。

「[ ]」:属性セレクタ(^=・$=・*=)

「[ ]」は、属性や属性の値で要素を選ぶセレクタです。「=」の前に記号を付けると、値の一部が一致する要素も選べます。

書き方 意味
[target] target属性を持つ要素
[target="_blank"] 値が「_blank」と完全に一致
[href^="https"] 値が「https」で始まる(前方一致)
[href$=".pdf"] 値が「.pdf」で終わる(後方一致)
[href*="media"] 値に「media」を含む(部分一致)
[class~="note"] スペース区切りの値の中に「note」がある
[lang|="en"] 値が「en」、または「en-」で始まる
<a href="https://example.com/">外部リンク</a>
<a href="/media/">サイト内リンク</a>
<a href="/files/guide.pdf">PDFのリンク</a>
<a href="https://example.com/" target="_blank">新しいタブで開くリンク</a>
a[target] {
  font-weight: bold;
}
a[href^="https"] {
  color: green;
}
a[href$=".pdf"] {
  color: red;
}
a[href*="media"] {
  background-color: yellow;
}

httpsで始まる1つ目と4つ目のリンクが緑色、「media」を含む2つ目の背景が黄色、「.pdf」で終わる3つ目が赤になります。target属性を持つ4つ目は太字にもなります。

「:」:擬似クラス

hoverで状態を選ぶこととbeforeで要素の前に内容を追加することの違い
擬似クラスは状態などを選び、擬似要素は要素の一部を対象にします。

「:」(コロン1つ)で始まるのは擬似クラスです。「マウスが乗っている」「最初の子要素である」など、要素の状態や位置で選びます。

<ul class="list">
  <li>1番目</li>
  <li>2番目</li>
  <li>3番目</li>
  <li>4番目</li>
</ul>
<a href="https://example.com/">リンク</a>
/* 最初のli */
.list li:first-child {
  font-weight: bold;
}
/* 偶数番目のli */
.list li:nth-child(2n) {
  background-color: #f0f0f0;
}
/* リンクの状態ごとの色 */
a:link {
  color: blue;
}
a:visited {
  color: purple;
}
a:hover {
  color: orange;
}
a:active {
  color: red;
}

1番目のliが太字、2番目と4番目の背景がグレーになります。リンクは未訪問が青、訪問済みが紫、マウスを乗せるとオレンジ、クリックしている間は赤です。リンクの4つは、後に書いたものが優先されるため、:link→:visited→:hover→:activeの順に書くのが基本です。

「::」:擬似要素

「::」(コロン2つ)で始まるのは擬似要素です。要素の最初の1文字や、要素の前後に追加する部分など、「要素の一部」を選びます。

<p class="point">ここが重要です。</p>
<p class="lead">最初の1文字だけ大きくなります。</p>
.point::before {
  content: "★ ";
  color: orange;
}
.lead::first-letter {
  font-size: 2em;
  font-weight: bold;
}

1つ目の段落の前にオレンジの「★」が付き、2つ目の段落は最初の1文字だけが大きな太字になります。::beforeと::afterは、contentプロパティを書かないと表示されません。

擬似クラス(:)と区別するため、今は擬似要素にコロンを2つ付けます。古いCSSとの互換性のため、:before、:after、:first-letter、:first-lineはコロン1つでも動きます。

「&」:ネスト(入れ子)で親セレクタを表す

「&」は、入れ子(ネスト)で書いたときの親のセレクタを表します。Sassだけでなく、現在は標準のCSSでも使えます。MDNでは2023年12月に主要ブラウザで利用可能になった機能として案内されています。古いブラウザを対象にする場合は、対応状況とネストの仕様を確認してください。

.card {
  padding: 16px;
  border: 1px solid #ccc;

  & h3 {
    color: navy;
  }

  &:hover {
    border-color: orange;
  }

  &.is-active {
    background-color: #fff8e1;
  }
}

上のCSSは、次のように1つずつ書いたのと同じ意味です。

.card {
  padding: 16px;
  border: 1px solid #ccc;
}
.card h3 {
  color: navy;
}
.card:hover {
  border-color: orange;
}
.card.is-active {
  background-color: #fff8e1;
}

& h3のように「&」の後にスペースがあると「中にある要素」、&:hoverや&.is-activeのようにスペースがないと「その要素自身の状態やclass」になります。スペースの有無で意味が変わる点に注意してください。

セレクタ以外で使う記号の意味と使い方

「$」:属性セレクタの後方一致とSassの変数

「$」には2つの意味があります。1つは、属性セレクタの中の$=で「値が〇〇で終わる」(後方一致)という意味です(上の「[ ]」の章を参照)。

もう1つは、CSSを効率よく書くためのツールSass(サス)の変数です。Sassでは「$名前: 値;」で色などを変数にしておき、何度も使い回せます。Sassで書いたコードは、変換(コンパイル)して普通のCSSにしてからブラウザで使います。

$main-color: #0066cc;

.button {
  background-color: $main-color;
  color: #fff;

  &:hover {
    opacity: 0.8;
  }
}

このSassを変換すると、次のCSSになります。

.button {
  background-color: #0066cc;
  color: #fff;
}
.button:hover {
  opacity: 0.8;
}

普通のCSSでは「$」は変数に使えません。CSSで変数のように値を使い回したいときは、次のカスタムプロパティを使います。

ハイフン2つ(--):カスタムプロパティ(CSS変数)

名前の前にハイフンを2つ付けるとカスタムプロパティになり、var()で呼び出して使えます。:rootに書くとページ全体で使えます。

:root {
  --main-color: #0066cc;
}
.button {
  background-color: var(--main-color);
  color: #fff;
}

サイトのテーマカラーを変えたいときも、--main-colorの値を1か所書き換えるだけで済みます。

「#」:カラーコード

値の中の「#」は、色を16進数で表すカラーコードの始まりです。#RRGGBBの形で、赤・緑・青の強さを00〜ffで表します。

書き方 色
#ff0000 赤
#ffffff(省略形#fff) 白
#333333(省略形#333) 濃いグレー
#0066cc80 半透明の青(最後の2桁が透明度)

「@」:アットルール

「@」で始まるのはアットルールで、CSSに条件や特別な命令を与えます。よく使うのは、画面幅などの条件でスタイルを切り替える@mediaです。

/* 画面幅が600px以下のときだけ適用 */
@media (max-width: 600px) {
  .sidebar {
    display: none;
  }
}

このほか、別のCSSファイルを読み込む@import、Webフォントを指定する@font-faceなどがあります。

「!important」:指定を優先させる

値の後ろに!importantを付けると、その指定が通常の指定より優先されます。

<p class="note">この文字は赤になります</p>
p {
  color: red !important;
}
p.note {
  color: blue;
}

本来はp.noteの方が優先されますが、!importantを付けた赤が使われます。多用するとどの指定が効いているのかわかりにくくなるため、最後の手段と考えましょう。

「+」「-」「*」「/」:calc()で計算する

calc()の中では、記号で計算ができます。「+」と「-」の前後には半角スペースが必要です(calc(100%-40px)のようにスペースがないと、その指定は無効になります)。

.content {
  width: calc(100% - 40px);
}

親要素の幅から40pxを引いた幅になります。

「/* */」:コメント

/*と*/で囲んだ部分はコメントになり、表示には影響しません。CSSでは//はコメントになりません(Sassでは使えます)。

/* ヘッダーのスタイル */
.site-header {
  background-color: #333;
}

記号を組み合わせたセレクタの読み方

実際のCSSでは、記号を組み合わせたセレクタがよく出てきます。読むときは右端が「最終的にスタイルが当たる要素」で、左に向かって条件を足していくと理解しやすくなります。

.header nav > ul > li:first-child a[href^="https"] {
  color: green;
}
  1. a[href^="https"]:hrefが「https」で始まるリンクで、
  2. li:first-child:最初のliの中にあり、
  3. nav > ul > li:そのliはnavの直下にあるulの直下にあり、
  4. .header nav:そのnavはclass=”header”の要素の中にある

という条件をすべて満たすリンクだけが緑色になります。

どの指定が優先される?(詳細度)

同じ要素の同じプロパティに複数の指定が当たると、ブラウザはカスケードの規則で採用する指定を決めます。まず出所・重要度・レイヤーなどを比較し、その優先関係が同じときにセレクタの詳細度を比べます。一般的なレイヤーなしのCSSでは、詳細度が同じなら後に書いた指定が優先されます。@scopeを使う場合は、記述順の前にスコープの近さも関わります。

セレクタの種類 例 強さ
IDセレクタ #site-header 強い
クラス・属性・擬似クラス .note [target] :hover 中
要素名・擬似要素 p ::before 弱い
全称セレクタ * 詳細度なし

上の表は、同じ出所・レイヤー・重要度で比較する場合の目安です。詳細度の比較では、ID1つをクラスの個数だけで上回ることはできません。!importantは「詳細度の点数を増やす」記号ではなく、重要度の扱いを変えます。style属性も含めた詳細な規則は、MDNの詳細度の解説で確認できます。

CSSが効かないときの確認順

  1. ファイルが読み込まれ、構文が正しいか
  2. セレクタが目的の要素に一致しているか
  3. 開発者ツールで、そのプロパティに打ち消し線が付いていないか
  4. 競合する指定の重要度・レイヤー・詳細度・記述順はどうなっているか

!importantを足す前に、どの指定が採用されているかを確認すると原因を追いやすくなります。

CSSの記号でつまずきやすいポイント

  1. 全角で入力している:「#」「.」「>」など全角の記号は、CSSの記号として認識されません。全角スペースも区切りとして扱われないため、記号とスペースは半角で入力しましょう
  2. スペースの有無:div.boxは「class=”box”のdiv」、div .boxは「divの中にあるclass=”box”の要素」で、意味がまったく違います
  3. 「.」「#」の付け忘れ:HTMLではclass="note"と書き、CSSでは.noteと「.」を付けます。CSSでnoteと書くと<note>という要素を探してしまいます
  4. セミコロンの付け忘れ:「;」が抜けると、次の行の指定まで効かなくなることがあります
  5. 前にある要素は選べない:「+」「~」は後ろの兄弟要素だけが対象です

レイアウトの組み方も一緒に学びたい方は「【初心者向け】CSSの2大レイアウトとは?」もあわせて読んでみてください。

英語の用語で調べながら、CSSの理解を深める

CSSを調べるときは、日本語だけでなく英語の用語も手がかりになります。たとえば「子孫」は descendant、「直下の子」は child、「擬似要素」は pseudo-elementです。MDNのセレクター一覧で、図とコードを照らし合わせてみてください。

3問で理解を確認

  1. .menu pと.menu > pのうち、孫の段落も対象になるのはどちらか。
  2. h2 + pで、間にdivを挟んだ後ろの段落は選べるか。
  3. .card:hoverと.card :hoverでは、マウスが乗る対象はどう違うか。

答え:1は.menu p。2は選べません。3は前者が.card自身、後者がその中の要素です。コードの空白1文字で対象が変わります。

英語とWeb制作を一緒に学びたい方へ

Kredo IT留学では、英語でITを学ぶ授業を提供しています。現在の英語力と制作経験、作りたいものを整理して、自分に合う学習コースや期間を相談できます。

Kredo IT留学の無料カウンセリングを見る

留学を含めて学び方を比較したい方は「IT留学とは?費用・おすすめ国・選び方」も参考にしてください。

CSSの記号についてよくある質問

CSSの「#」と「.」の違いは?

「#」はid名、「.」はclass名で要素を選びます。idはページ内で1回しか使えず、classは何度でも使えます。また、「#」の方が優先順位(詳細度)が高くなります。見た目の指定には、基本的に「.」(クラス)を使います。

CSSの「*」(アスタリスク)はどういう意味?

単独の「*」は「すべての要素」を選ぶ全称セレクタです。[href*="media"]のように属性セレクタの中にあるときは「〜を含む」(部分一致)、calc()の中では掛け算の意味になります。

CSSの「>」と半角スペースの違いは?

「>」は直下の子要素だけ、半角スペースは子・孫・ひ孫など中にある要素すべてが対象です。

CSSの「&」はSassでしか使えない?

いいえ。CSSのネスト(入れ子)は2023年12月から主要なブラウザで使えるようになり、普通のCSSでも「&」を使えます。Sassでも同じように親セレクタを表す記号として使います。

CSSの「$」は何の記号?

普通のCSSでは、属性セレクタの$=(後方一致)で使います。Sassでは変数を表す記号です。CSSで変数を使いたいときは、--名前で書くカスタムプロパティを使います。

HTMLの「#」(シャープ)はどういう意味?

href="#contact"のようにリンク先に書くと、同じページ内のid="contact"の要素へ移動するページ内リンクになります。href="#"だけならページの先頭へ移動します。

まとめ:記号の意味がわかればCSSは読める

CSSの記号の多くは、スタイルを当てる要素を選ぶセレクタのためのものです。「.」はクラス、「#」はID、「*」はすべて、半角スペースと「>」は子孫と子、「+」「~」は後ろの兄弟、「[ ]」は属性、「:」「::」は状態と要素の一部、「&」はネストの親を表します。わからない記号が出てきたら一覧表に戻り、コード例を実際に動かして確かめてみてください。

HTMLの学習サイトを探している方は「HTML勉強サイトおすすめ」も参考にしてください。

英語でIT・AIを学べるKredo

英語×IT・AIのスキルを身につけてグローバルに活躍しませんか?

当メディアを運営しているKredoは、英語×ITをオンラインで学ぶ「Kredoオンラインキャンプ」と、フィリピンのセブ島で英語とIT・AIを学ぶ「KredoIT留学」「KredoAI留学」を提供しています。これまでの卒業生は3,000名以上。卒業生の多くが、国内外のIT企業への転職、フリーランスなどへのキャリアチェンジを実現しています。これからの時代に必要な英語×IT・AIのスキルを身につけてグローバルに活躍しませんか?

\ セブ島でIT×英語を学ぶ /IT留学の無料カウンセリングを予約する
\ オンラインでIT✕英語を学ぶ / Kredoオンラインキャンプの詳細をみる >>
  • ツイート
  • シェア
  • はてな
  • ポケット
この記事を書いた人
アバター画像
Kredo編集部

関連記事

  •  width
    Web・プログラミング(知識)

    Pythonの開発環境を構築する方法!おすすめのIDEも紹介

  •  width
    Web・プログラミング(知識)

    Rubyで作られたWebサービス・アプリ12選|できることも解説

  • 知識0から身につけるPythonの5つの基礎!概要~開発環境の準備方法まで
    Web・プログラミング(知識)

    Pythonの5つの基礎|できることから開発環境の準備方法まで

  •  width
    Web・プログラミング(知識)

    Macでプログラミングを始めるには?初心者向けの入門知識と始め方

新規CTA
KREDO JAPAN株式会社

\ SNSで留学の様子を更新中! /

  • Instagram
  • LINE
  • X
  • YouTube
©KREDO JAPAN Inc. 2024 All rights reserved.
Kredoのサービス
セブ島で学びたい方はこちら KredoIT留学
自宅で学びたい方はこちら Kredo Online 英語×アプリ開発コース
運営会社 会社概要 採用情報 お問い合わせ
利用規約 プライバシーポリシー 特定商品取引に基づく表示 資料請求