ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
CSS 構文の基本形
/* セレクタ { プロパティ: 値; プロパティ: 値; ... } */
h1 {
color: red;
font-size: 24px;
margin-top: 10px;
}
/* セミコロンは各宣言の末尾に必須(最後だけは省略可だが付ける習慣を) */
セレクタの種類
| 種類 | 例 | 意味 |
|---|---|---|
| 要素 | p { ... } | すべての p 要素 |
| クラス | .btn { ... } | class="btn" の要素 |
| ID | #header { ... } | id="header" の要素 |
| 属性 | input[type="text"] | type 属性が text の input |
| 子孫 | nav a | nav 内の任意の階層の a |
| 子 | nav > a | nav の直下の a のみ |
| 隣接 | h2 + p | h2 の直後の p |
| 疑似クラス | a:hover | マウスホバー時の a |
| 疑似要素 | p::first-letter | p の最初の文字 |
| 複合 | div.card.active | div かつ card かつ active |
ショートハンドプロパティ
/* margin: 上 右 下 左 */
margin: 10px 20px 30px 40px; /* 上10 / 右20 / 下30 / 左40 */
margin: 10px 20px 30px; /* 上10 / 左右20 / 下30 */
margin: 10px 20px; /* 上下10 / 左右20 */
margin: 10px; /* 全方向 10px */
/* padding も同様 */
padding: 8px 16px;
/* border: 太さ / スタイル / 色 */
border: 1px solid #ccc;
/* font: スタイル / ウェイト / サイズ / 行高 / フォント */
font: italic bold 16px/1.5 "Helvetica", sans-serif;
/* background */
background: #fff url(bg.png) no-repeat center/cover;
ユニット(単位)
| 単位 | 基準 | 用途 |
|---|---|---|
px | 画面ピクセル | 固定サイズ(境界線等) |
em | 親要素の font-size | 相対的なサイズ調整 |
rem | root (html) の font-size | ★ レスポンシブの基本 |
% | 親要素の同プロパティ | 幅・高さ |
vh / vw | ビューポート高/幅の 1% | フルスクリーン要素 |
vmin / vmax | vh と vw の小/大 | 正方形要素 |
ch | "0" 文字の幅 | 等幅レイアウト |
fr | Grid 余り領域の比率 | CSS Grid |
% (color) | 0-100% | rgb / hsl の各成分 |
html { font-size: 16px; } /* 1rem = 16px */
h1 { font-size: 2rem; } /* 32px */
p { font-size: 1rem; line-height: 1.5; }
.hero { height: 100vh; } /* ビューポートの高さいっぱい */
カラー表記
/* 16 進 */
color: #ff0000; /* 赤 */
color: #f00; /* 短縮形 (= #ff0000) */
color: #ff0000ff; /* RGBA 16 進(8桁、最後の ff は alpha) */
/* RGB / RGBA */
color: rgb(255, 0, 0);
color: rgb(255 0 0); /* 新構文(カンマ無し) */
color: rgba(255, 0, 0, 0.5); /* 50% 透明 */
color: rgb(255 0 0 / 50%); /* 新構文 */
/* HSL / HSLA */
color: hsl(0, 100%, 50%); /* 色相 / 彩度 / 明度 */
color: hsla(0, 100%, 50%, 0.5);
/* カラー名 */
color: red;
color: transparent;
color: currentColor; /* 現在の color 値を再利用 */
!important(最終手段)
.warning {
color: red !important; /* 他のすべてに優先 */
}
/* ❌ 多用すると保守不能に
優先度合戦になる前にセレクタ詳細度を整理すべき */
カスケードと詳細度 (Specificity)
同じ要素に複数のスタイルが適用される場合、詳細度の高いものが勝つ。同点なら後に書かれた方が勝つ(カスケード)。
| セレクタ | 詳細度(a, b, c) | 説明 |
|---|---|---|
インライン style="..." | 1000 | 最強 |
#id | (0, 1, 0, 0) | ID |
.class / [attr] / :hover | (0, 0, 1, 0) | クラス / 属性 / 疑似クラス |
tag / ::before | (0, 0, 0, 1) | 要素 / 疑似要素 |
* / :not() 自体 | (0, 0, 0, 0) | 影響なし |
!important | すべてに優先 | レイヤー外 |
/* 詳細度比較例 */
#header .nav a { color: red; } /* (0,1,1,1) = 111 */
div.nav a.active { color: blue; } /* (0,0,2,2) = 22 */
nav a { color: green; } /* (0,0,0,2) = 2 */
/* どれが勝つ? → 上の #header .nav a が最強 */
メディアクエリ (@media)
/* デスクトップ前提のスタイル */
.container { width: 1200px; }
/* タブレット以下 */
@media (max-width: 1024px) {
.container { width: 100%; padding: 0 20px; }
}
/* スマホ以下 */
@media (max-width: 768px) {
.container { padding: 0 12px; }
h1 { font-size: 1.5rem; }
}
/* Mobile First の例 */
.card { padding: 12px; }
@media (min-width: 768px) {
.card { padding: 24px; }
}
@media (min-width: 1200px) {
.card { padding: 32px; }
}
/* 横向き / 縦向き */
@media (orientation: landscape) { ... }
/* ダークモード */
@media (prefers-color-scheme: dark) {
body { background: #1e293b; color: #e2e8f0; }
}
その他の便利な関数
/* url() */
background: url("/img/bg.png");
/* calc(): 計算式 */
width: calc(100% - 40px);
font-size: calc(1rem + 1vw);
/* min() / max() / clamp() */
width: min(100%, 1200px); /* 画面幅と1200pxの小さい方 */
font-size: clamp(1rem, 2vw, 1.5rem); /* 最小 / 推奨 / 最大 */
/* var() : CSS 変数 */
:root {
--primary: #2563eb;
--space: 16px;
}
.btn {
background: var(--primary);
padding: var(--space);
}
FAQ
Q: 単位を付けないとどうなる?
A: 0 以外で単位省略はエラー(プロパティが無視される)。0 だけは 0px / 0em 等と同じ扱いです。
Q: CSS のコメントは // ?
A: いいえ、/* ... */ のみ。// は SCSS / LESS の方言で純粋 CSS では機能しません。
Q: em と rem はどちらがいい?
A: 一般には rem がおすすめ(ルート基準で一貫)。コンポーネント内で相対的に揃えたい時だけ em。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?