CSS(スタイルシート)
CSS(Cascading Style Sheets:カスケーディング・スタイル・シート)とは、Webページの見た目(デザイン)を指定するための言語です。HTMLが文書の構造を定義するのに対し、CSSは色、フォント、レイアウト、余白、アニメーションなど、視覚的な表現を制御します。HTMLとCSSを分離することで、デザインの変更が容易になり、保守性が向上します。
CSS(Cascading Style Sheets:カスケーディング・スタイル・シート)とは、Webページの見た目(デザイン)を指定するための言語です。HTMLが文書の構造を定義するのに対し、CSSは色、フォント、レイアウト、余白、アニメーションなど、視覚的な表現を制御します。HTMLとCSSを分離することで、デザインの変更が容易になり、保守性が向上します。
CSS(Cascading Style Sheets)は、1996年にW3C(World Wide Web Consortium)によって標準化されたスタイルシート言語です。Webページの「見た目」を定義し、HTMLの「内容」と分離して管理することで、効率的なWeb制作を可能にします。
| 項目 | HTML | CSS |
|---|---|---|
| 役割 | 文書の構造と内容 | 見た目とデザイン |
| 記述内容 | 見出し、段落、リスト、リンクなど | 色、フォント、配置、サイズなど |
| ファイル拡張子 | .html | .css |
| 例 | <h1>見出し</h1> | h1 { color: blue; } |
CSSは「セレクタ」「プロパティ」「値」の3つの要素で構成されます。
セレクタ {
プロパティ: 値;
プロパティ: 値;
}
/* 実例 */
h1 {
color: blue;
font-size: 24px;
text-align: center;
}
テキストや背景の色を自由に設定できます。
/* テキストの色 */
p {
color: #1976D2; /* 16進数カラーコード */
color: rgb(25, 118, 210); /* RGB値 */
color: blue; /* 色名 */
}
/* 背景色 */
body {
background-color: #F5F5F5;
}
文字の種類、サイズ、太さ、行間などを制御します。
body {
font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
font-size: 16px;
font-weight: 400; /* 太さ(100〜900)*/
line-height: 1.8; /* 行間 */
letter-spacing: 0.05em; /* 字間 */
}
要素の配置、幅、高さ、余白を設定してページ全体の構成を作ります。
/* ボックスモデル */
.box {
width: 300px; /* 幅 */
height: 200px; /* 高さ */
padding: 20px; /* 内側の余白 */
margin: 10px; /* 外側の余白 */
border: 1px solid #DDD; /* 枠線 */
}
/* フレックスボックスレイアウト */
.container {
display: flex;
justify-content: space-between;
align-items: center;
}
/* グリッドレイアウト */
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
画面サイズに応じてデザインを変更できます。
/* PC用のスタイル */
.container {
width: 1200px;
}
/* タブレット用(768px以下) */
@media (max-width: 768px) {
.container {
width: 100%;
padding: 0 20px;
}
}
/* スマホ用(480px以下) */
@media (max-width: 480px) {
.container {
padding: 0 10px;
}
}
要素に動きや変化を加えることができます。
/* ホバー時の変化 */
button {
background: #1976D2;
transition: all 0.3s; /* 0.3秒かけて変化 */
}
button:hover {
background: #FF6B35;
transform: translateY(-2px); /* 2px上に移動 */
}
/* アニメーション */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.fade {
animation: fadeIn 1s ease-in;
}
/* 完全に非表示(スペースも消える) */
.hidden {
display: none;
}
/* 透明にする(スペースは残る) */
.invisible {
visibility: hidden;
}
/* 透明度で制御 */
.transparent {
opacity: 0.5; /* 50%透明 */
}
別ファイルにCSSを記述し、HTMLから読み込む方法です。最も一般的で保守性が高い方法です。
/* style.css ファイル */
body {
font-family: sans-serif;
color: #333;
}
h1 {
color: #1976D2;
}
<!-- HTMLファイル -->
<head>
<link rel="stylesheet" href="style.css">
</head>
HTMLファイル内の<head>セクションに直接記述する方法です。
<head>
<style>
body {
background: #F5F5F5;
}
h1 {
color: blue;
}
</style>
</head>
使用場面:そのページ専用のスタイル、テスト用、メールHTML
HTML要素に直接style属性で記述する方法です。
<p style="color: red; font-size: 18px;">赤い文字</p>
HTML要素名で指定します。
p { color: black; } /* すべての段落 */
h1 { font-size: 32px; } /* すべてのh1見出し */
class属性で指定した名前の要素に適用します。
/* CSS */
.highlight {
background: yellow;
}
/* HTML */
<p class="highlight">ハイライト表示</p>
id属性で指定した一意の要素に適用します。
/* CSS */
#header {
background: #1976D2;
}
/* HTML */
<div id="header">ヘッダー</div>
特定の要素内にある要素を指定します。
/* article内のすべてのpタグ */
article p {
line-height: 1.8;
}
複数の要素に同じスタイルを適用します。
h1, h2, h3 {
color: #1976D2;
font-weight: 600;
}
要素の特定の状態を指定します。
a:hover { color: red; } /* マウスを乗せた時 */
a:visited { color: purple; } /* 訪問済みリンク */
input:focus { border: 2px solid blue; } /* フォーカス時 */
li:first-child { font-weight: bold; } /* 最初の要素 */
li:nth-child(odd) { background: #F5F5F5; } /* 奇数番目 */
要素の特定の部分を装飾します。
p::first-line { font-weight: bold; } /* 最初の行 */
p::first-letter { font-size: 2em; } /* 最初の文字 */
h2::before { content: "▶ "; } /* 要素の前に追加 */
h2::after { content: " ◀"; } /* 要素の後に追加 */
同じ要素に複数のCSSルールが適用される場合、以下の優先順位で決定されます。
/* 優先順位の例 */
p { color: black; } /* 詳細度: 1 */
.text { color: blue; } /* 詳細度: 10 */
#main p { color: green; } /* 詳細度: 101 */
p { color: red !important; } /* 最優先 */
/* 結果: 上記すべてが適用される場合、
!importantがあるので赤色になる */
子テーマを作成し、style.cssに記述します。
/*
Theme Name: My Child Theme
Template: parent-theme
*/
/* ここにカスタムCSSを記述 */
.custom-style {
background: #F5F5F5;
padding: 20px;
}
「Simple Custom CSS」「WP Add Custom CSS」などのプラグインを使う方法もあります。
function add_custom_styles() {
wp_enqueue_style(
'custom-style',
get_stylesheet_directory_uri() . '/custom.css',
array(),
'1.0.0'
);
}
add_action('wp_enqueue_scripts', 'add_custom_styles');
CSSフレームワークは、あらかじめ用意されたCSSのセットで、効率的にデザインを構築できます。
CSSは、Webデザインを実現するための不可欠な技術です。HTMLが「何を表示するか」を定義するのに対し、CSSは「どのように表示するか」を制御します。
WordPressでは、テーマカスタマイザーの「追加CSS」機能を使えば、CSSの知識がなくても簡単にカスタマイズできます。より本格的にデザインを変更したい場合は、子テーマを作成してCSSを記述しましょう。
CSSを習得すれば、自分の思い通りのデザインを実現でき、Webサイトの魅力を大きく高めることができます。