1
1
= Reset CSSとは何か
2
2
3
- Reset CSSは、Web上のページを読み込んだときに既定で適用されるスタイル宣言(ユーザーエージェントスタイルシートとも呼ばれます)をリセットするものです。
4
- Reset CSSは@<kw>{Hard reset}と呼ばれる「ユニバーサル(全称)セレクタを使ってすべてのmarginとpaddingを0 にする」手法から始まりました(@<list>{hard-reset-css})。
5
- そこから今日にいたるまでさまざまな手法が開発されています。
3
+ ここからReset CSSについて解説するよ!かばんちゃんから教えてもらったことを、できるだけ分かりやすく私が教えるからね!
4
+
5
+ Reset CSSっていうのは、Webページを読み込んだときに既定で適用されるスタイル@<fn>{user-agent-stylesheet}をリセットするものだよ!
6
+
7
+ @<kw>{Hard reset}っていう「ユニバーサル(全称)セレクタを使ってすべてのmarginとpaddingを0 にする」ところから始まったんだよ!(@<list>{hard-reset-css})
8
+ そこから今までさまざまなReset CSSのフレンズが生まれたんだって!すっごーい!
9
+ // footnote[user-agent-stylesheet][ユーザーエージェントスタイルシートとも呼ばれます]
6
10
7
11
// list[hard-reset-css][初期のReset CSSであるHard reset]{
8
12
#@mapfile(../codes/reset-css/hard-reset.css)
@@ -15,9 +19,9 @@ Reset CSSは@<kw>{Hard reset}と呼ばれる「ユニバーサル(全称)セ
15
19
16
20
== なぜReset CSSはユーザーエージェントスタイルシートを上書きできるか
17
21
18
- Reset CSSはユーザーエージェントスタイルシートでの宣言を上書きすることにより、スタイル宣言をリセットしています。
19
- なぜリセットできるのでしょうか?それはスタイル宣言がされた場所 (オリジン)によって適用されるスタイルの優先順位があるためです 。
20
- CSS Cascading and Inheritance Level 3 (@<href>{https:// www.w3.org/TR/css-cascade-3/#cascading})から優先順を引用すると次のとおりです 。
22
+ Reset CSSはユーザーエージェントスタイルシートの宣言を上書きすることで、既定で適用されるスタイルをリセットしているんだよ!
23
+ なんでリセットできるかって?それはスタイル宣言がされたちほー (オリジン)によって適用されるスタイルの優先順位があるためなんだって 。
24
+ よくわかんないけど、 CSS Cascading and Inheritance Level 3 (@<href>{https:// www.w3.org/TR/css-cascade-3/#cascading})から優先順位を引用すると次のとおりみたい 。
21
25
22
26
1 . transitionの宣言
23
27
1 . !important付きのユーザーエージェントスタイルシートでの宣言
@@ -30,13 +34,16 @@ CSS Cascading and Inheritance Level 3(@<href>{https://www.w3.org/TR/css-cascad
30
34
1 . 利用者による宣言
31
35
1 . ユーザーエージェントスタイルシートでの宣言
32
36
33
- ユーザーエージェントスタイルシートの宣言より作者による宣言、つまりHTMLファイルからリンクされたCSSなどの宣言が優先されるため、ユーザーエージェントスタイルシートのスタイル宣言を上書きできます。
37
+ たとえばユーザーエージェントスタイルシートの宣言より、HTMLファイルからリンクされたCSS内の宣言が優先されるんだって。
38
+ だからユーザーエージェントスタイルシートのスタイル宣言を上書きできるんだよー!
39
+ …うー、ボスー!ちょっとよく分かんないよー!
34
40
35
41
== なぜReset CSSを使うのか
36
42
37
- Reset CSSが使われる理由は、ブラウザが既定で読み込むユーザーエージェントスタイルシートがブラウザ間で差異があるためです。
38
- 例として@<code>{h1}要素と@<code>{p}要素のみ定義したHTMLをブラウザで見てみます。
39
- Firefoxはセリフ@<fn>{font-serif}がないフォントで表示されます(@<img>{firefox-font})が、Safariはセリフがあるフォントで表示されます(@<img>{safari-font})。
43
+ Reset CSSを使うのは、ブラウザが既定で読み込むユーザーエージェントスタイルシートがブラウザ間で違いがあるからなんだよ!
44
+ たとえば@<code>{h1}要素と@<code>{p}要素だけ書いたHTMLをブラウザで見てみるよ。
45
+
46
+ するとFirefoxはセリフ@<fn>{font-serif}がないフォントだけど(@<img>{firefox-font})、Safariはセリフがあるフォントだよ(@<img>{safari-font})。ふっしぎー!
40
47
// footnote[font-serif][文字の線の端にある小さな飾りのことです]
41
48
42
49
// image[firefox-font][Firefoxでプレビューしたときの見た目]{
@@ -45,9 +52,8 @@ Firefoxはセリフ@<fn>{font-serif}がないフォントで表示されます
45
52
// image[safari-font][Safariでプレビューしたときの見た目]{
46
53
// }
47
54
48
- このように単純なHTMLでも見た目に差異があります。h1要素やp要素の他にも差異はあるため、それを吸収するために何らかのReset CSSライブラリを使うか自分で差異を吸収する必要があります。
55
+ こんな感じで単純なHTMLにも見た目に違いはあるんだよ!ブラウザによって得意なことは違うからなんらかのReset CSSライブラリを使うか自分で違いを吸収する必要があるんだってー!
49
56
50
57
== Reset CSSを使わない場面
51
58
52
- Reset CSSを使う理由として「ブラウザの既定で適用されるスタイル定義の差異を吸収するため」と書きました。
53
- そのため@<kw>{NW.js }や@<kw>{Electron}といったChromiumしか存在しない環境ではReset CSSを使う必要はなく、必要に応じてユーザーエージェントスタイルシートのスタイル定義をリセットするとよいです。
59
+ Reset CSSを使うのは、ブラウザが既定で適用するスタイルがブラウザ間で違いがあるからだけど、@<kw>{NW.js }?や@<kw>{Electron}?みたいな@<kw>{Chromium}?しか無いちほーではReset CSSを使わなくていいんだって!
0 commit comments