CSSの書き方の基本 セレクタとプロパティのルール

CSSの書き方

CSS(Cascading Style Sheets/シー・エス・エス)の書き方とルールをわかりやすく解説します。

目次

CSSの書き方の基本基礎

CSSは、セレクタ(selector)とプロパティ(property)で構成されています。

セレクタ {
  プロパティ: 値;
}

CSSの書き方の基本は、まず「セレクタ名」を書いて、波括弧(中括弧)で囲います。
囲った中に、「プロパティ名」を書いて、コロンを付けて、値を書きます。
最後に、セミコロンを付けて完了です。
これが、スタイルの1つのグループになります。次のセレクタは、改行して同様に書いていきます。

セレクタとは

CSSを適用する対象のことをセレクタと言います。
h1、p、div、ul、li、dl、dt、dd、table、buttonなどのHTMLもその対象になります。

h1 {
  プロパティ: 値;
}

p {
  プロパティ: 値;
}

セレクタは、id属性とclass属性を指定してオリジナルの対象を設定することもできます。
id属性とclass属性については、後述します。

プロパティとは

CSSで決められているスタイルの種類のことをプロパティと言います。
プロパティと指定できる値は決められています。

例えば、テキストに色を指定したい場合、使うプロパティは「color」です。
colorプロパティに指定する値は、色を表すカラーコードを入れることができます。
カラーコードの形式は、W3C標準の基本カラー名、16進数、短縮形、RGB形式、RGBA形式などで指定できます。
黒の場合の値は、black、#000000、#000、rgb(0,0,0)rgba(0,0,0,1)のどの形式で指定しても黒を表現できます。

p {
  color: black;
}
p {
  color: #000;
}
p {
  color: rgba(0,0,0);
}

参考までに、よく使うプロパティをまとめておきます。

文字・テキストに関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
color文字の色
font-size文字の大きさ(フォントサイズ)
font-weight文字の太さ
text-decorationテキストの装飾
font-family文字の字体
text-alignテキストや画像の水平方向の位置
line-height行間の調整
letter-spacing字間の調整
vertical-alignテキストや画像の縦方向の位置

枠線に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
border枠線の色、太さ
border-radius角の角度調整

横幅と高さに関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
width横幅の調整
height高さの調整

余白に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
margin外側の余白
padding内側の余白
box-sizing要素の幅・高さの算出設定(paddingやborderをwidthやheightに含めるか否か)

背景に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
background背景全般の設定
background-color要素の背景色の設定
background-image要素の背景画像の設定
background-size背景画像のサイズ設定
background-repeat背景画像の繰り返し設定
background-position背景画像の位置設定
background-attachment背景画像の位置の固定・スクロール設定

表示表現に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
displayインライン要素・ブロック要素扱いの指定、非表示設定、レイアウト設定

位置に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
position要素の配置を設定

影の表現に関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
box-shadowボックスの影を表現
text-shadowテキストの影を表現

はみ出しに関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
overflow要素の内容がブロックからはみ出す場合の挙動や制御を設定

アニメーションに関連するCSSプロパティ

スクロールできます
プロパティ名使用目的・用途
transform要素の回転、移動、拡大縮小、傾斜を表現
transition状態変化など簡単なアニメーション
animationアニメーションのスタイル設定

その他、高度なアニメーションとして、CSSのアットルールである@keyframesを使ってアニメーションの挙動とタイミングの指定をすることができます。

CSSのプロパティの種類と値はたくさんありますので、はじめに丸暗記する必要はありません。表現の目的やデザインの用途に応じて、どのように表示されるか試しながら繰り返し練習してください。

id属性とclass属性

次に、id属性とclass属性について解説します。まずは、使い方を理解しましょう。
CSSのセレクタは、id属性とclass属性を指定してオリジナルのスタイルを設定することができます。idとclassは目印のようなもので自由に付けることができます。

オリジナルのセレクタを作ることで、HTMLタグとCSSのスタイルを紐付することができます。それが、id属性とclass属性です。idとclassは、HTMLの要素に識別するための名前を付ける役割になります。

例えば、HTMLで記述したグループAのテキストを赤色に、グループBのテキストを青色にしたい場合、id属性またはclass属性で、任意の名前を付けてスタイルを適用して色を指定することができます。

下記は、HTMLのpタグのclass属性に、titleAとtitleBという名前(クラス名)を付けた例です。

<p class="titleA">グループA</p>
<p class="titleB">グループB</p>

これらのクラスにCSSファイルでスタイルを指定します。
セレクタが.titleAと.titleB、プロパティがcolor、値がredとblueです。
書き方の基本は、class属性の場合は、セレクタ名の前に、.(ドット)を付けます。
id属性の場合は、セレクタ名の前に、#(シャープ)を付けます。
これは、スタイル指定のルールなので覚えておきましょう。

.titleA {
  color: red;
}

.titleB {
  color: blue;
}

同様に、id属性にtitleAとtitleBという名前(アイディ名)を付けた例はこのようになります。

<p id="titleA">グループA</p>
<p id="titleB">グループB</p>

id属性の場合は、セレクタ名の前が、#(シャープ)に変わるだけです。

#titleA {
  color: red;
}

#titleB {
  color: blue;
}

これで、pタグで囲ったテキストをCSSで指定した色で表示することができます。

id属性とclass属性の違い

次に、idとclassの違いを理解しましょう。

id属性とは

id属性は、要素を一意に識別するための属性です。言い換えると、1つのHTMLファイルに1つのみ利用できる属性になります。従って、1つHTMLファイル内に同じ名前のidを2回以上使ってはいけません。CSSでは、1つの特定のセレクタに対して、独自のスタイルを適用する場合に使用することが多いです。

<p id="text-color-1">1回目</p>
<p id="text-color-2">2回目</p>
<p id="text-color-3">3回目</p>

id属性は、アンカーリンク(ページ内リンク)などにもよく使います。

class属性とは

class属性は、要素にスタイルを適用するための属性です。言い換えると、1つのHTMLファイルに複数のクラスを利用できる属性になります。従って、1つHTMLファイル内に同じ名前のclassを何回でも使うことができます。CSSでは、複数のセレクタに同じスタイルを適用する場合に使用します。

<p class="text-color">1回目</p>
<p class="text-color">2回目</p>
<p class="text-color">3回目</p>

Web制作において、CSSでデザインを行う場合は、基本的には、class属性を使ってスタイルを指定します。
CSSは、複数の要素に複数のスタイルを適用する場面が多くあります。
id属性は、JavaScriptなどの他言語でも使用することがあるため、CSSのみが目的の場合は、id属性を多用しないほうが後々整理しやすくなります。制作現場でも、class属性を使うことが一般的といえます。

id属性とclass属性のルール

必須のルールとして、id名やclass名は、同じ名前を2重で作ってはいけません。
理由は、idやclassの量が増えてきた際に、スタイルが効かないなどのトラブルが起きるからです。
idとclassの名前は、重複して作成しないよう注意しましょう。

id属性とclass属性の名前の付け方

名前の付け方の基本ルールを4つ挙げますので覚えておきましょう。

  • 空白は使わない。
  • 半角英数、-(ハイフン)、_(アンダースコア)の組み合わせが可能。
  • アルファベットの大文字と小文字は区別される。
  • 先頭に数字を使わない。

これらに反するとスタイルがうまく反映されなかったり、他のプログラムのトラブルのもとになります。
また、id属性とclass属性の名前は、上記のようなルールに沿っていれば、どのような名前を付けても良いのですが、基本的には自分であとから見ても、他の人が見ても内容を判別できる名前にしておくことも大切です。

命名規則の記法

命名規則の記法を3つ紹介します。CSSに限らず、プログラミング言語ではよく使う命名規則です。個人によって好みや偏りがありますが、プロジェクトチームで決めておくと他の人が見てもわかりやすくなります。

基本は、単語の間の空白の代わりに、アンダースコア、ハイフン、大文字など使います。

スネークケース

単語の間にアンダースコアを使う記法です。
例)item_list

ケバブケース

単語の間にハイフンを使う記法です。
例)item-list

キャメルケース

2番目の単語の頭は大文字を使う記法です。
例)itemList

CSSではスネークケース(アンダースコア)やケバブケース(ハイフン)を使うことが多いです。

よく使われるid属性とclass属性の名前

id属性とclass属性によるセレクタ名は、自由に名付けることができますが、参考までにWeb制作の現場でよく使われるid属性とclass属性の名前の一例を紹介します。

スクロールできます
使用場所セレクタ名
ボックスwrapper, wrap, container, inner
ヘッダーheader, header_contents, header_area
フッターfooter, footer_contents, footer_area
メインコンテンツmain, main_contents, contents
コンテンツcontent, contents, container, sec, section, block
サイドバーsidebar, side-bar
ナビゲーションnavi, nav, menu
グローバルナビゲーションgnavi, gnav, global-nav
見出しtitle, heading, sub_title
段落、セクションsection, sec, entry-body
ロゴlogo
ファーストビュー、メインビジュアルmain-visual, fv
画像image, images
記事entry
概要outline, summary
お知らせinfo, infomation
コピーライトcopyright

CSSを記述できる3つの場所と書き方の違い

CSSを書ける場所は、基本3つあります。

  • HTMLファイルのhead要素内
  • HTMLファイルのHTMLタグのstyle属性
  • CSSファイル

いずれもスタイルコードの書き方はほぼ同じですが、書く場所によってメリット・デメリットがありますが、結論から言うと、基本的には、CSSファイルに書く方法が実用的です。

例として、HTMLのpタグで表示するテキストをCSSで青色に指定することとします。

<p>テキストの色は青色です</p>

このHTMLコードを使って、3つの場所でCSSを書く例をそれぞれ解説していきます。

1. HTMLファイルのhead要素内に書く方法

書き方は、まずhead要素内にstyle要素を配置します。

<html>
<head>
<style></style>
</head>
<body>
  <p>テキストの色は青色です</p>
<body>
</html>

配置したstyle要素内に、CSSのコードを書きます。
テキストを青色にする場合、セレクタがp、プロパティがcolor、値がblueとなりますので、このように書くことができます。

<html>
<head>
  <style>
    p { color: blue; }
  </style>
</head>
<body>
  <p>テキストの色は青色です</p>
<body>
</html>

2. HTMLファイルのHTMLタグのstyle属性に直接書く方法

この手法をインラインCSSまたはインラインスタイルシートと言います。
HTMLタグのstyle属性を使って、プロパティと値を指定します。

<HTMLタグ style="プロパティ:値;"></HTML閉じタグ>
<html>
<head>
</head>
<body>
  <p style="color: blue;">テキストの色は青色です</p>
<body>
</html>

3. CSSファイルに書く方法

HTMLファイルで外部にあるCSSファイルを読み込みます。
読み込む方法は、HTMLファイルのheadタグ内に、linkタグでCSSファイルを指定します。リンク先のURLは、相対パスと絶対パスが利用できます。

<link rel="stylesheet" type="text/css" href="リンク先のCSSファイルのURL">

例として、リンク先のCSSファイル名は、style.cssとします。

<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <p>テキストの色は青色です</p>
<body>
</html>

リンク先のCSSファイルstyle.cssにスタイルを記述します。

p {
  color: blue;
}

これで、CSSの読み込みが完了するので、CSSファイルに書いたスタイルが、HTML側に反映されます。

HTMLファイル内に書くCSSの特徴

メリットは、CSSファイルを読み込む必要がないため、ブラウザでの表示スピードが上がります。
使用例としては、以下のような時に用いられます。

  • 部分的に、CSSファイルを上書きしてCSS適用する場合
  • テスト段階で、CSSを試す場合
  • 意図的に表示スピードを上げるために共通部分をhead要素内で適用する場合

デメリットは、ファイルやコードが増えてきた際に整理が困難になることです。
また、CSSが重複した場合、修正箇所を見つけるのが大変です。従って、テスト段階または部分的に使用することが多い方法です。

CSSファイルに書くCSSの特徴

メリットは、共通のCSSを1つのファイルにまとめることができるため、複数のHTMLファイルに1つのCSSファイルを適用することができます。何度も同じスタイルコードを書く必要がないということです。Web開発においては、HTMLやCSSのコードやファイル数は莫大な量になることが通常です。独立したCSSファイルにまとめておくことで整理しやすくなるだけではなく、データ容量を軽減することにもつながります。

また、複数人のチームで進めるプロジェクトの場合、誰が見てもわかりやすく指示できるようにしておくことは必須です。Webの現場では、テスト段階を除き、基本的には独立したCSSファイルに書く方法が採用されています。

まとめ

CSSの書き方の基本は、まずHTMLファイルにHTMLコードを書いたhtmlタグにidやclassを付けて、CSSファイルにスタイルコードを指定する流れです。
CSSは、書き方の基本さえ理解できれば、あとはいろいろなプロパティと値を調べてながら使っていくことで、応用的なスキルを身につけることができます。
CSSに少し慣れてきたら、Webサイトを1ページ、HTMLとCSSを使って自由にデザインしてみてください。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

LEQTUREZ Online

レクチャーズは、IT・Webのクリエイティブ人材育成、事業サポートの活動を行っています。初心者のためのスキルアップコンテンツやビジネスパーソンに役立つ情報を発信いたします。

目次