11= Reset CSSとは何か
22
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][ユーザーエージェントスタイルシートとも呼ばれます]
610
711// list[hard-reset-css][初期のReset CSSであるHard reset]{
812#@mapfile(../codes/reset-css/hard-reset.css)
@@ -15,9 +19,9 @@ Reset CSSは@<kw>{Hard reset}と呼ばれる「ユニバーサル(全称)セ
1519
1620== なぜReset CSSはユーザーエージェントスタイルシートを上書きできるか
1721
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})から優先順位を引用すると次のとおりみたい 。
2125
2226 1 . transitionの宣言
2327 1 . !important付きのユーザーエージェントスタイルシートでの宣言
@@ -30,13 +34,16 @@ CSS Cascading and Inheritance Level 3(@<href>{https://www.w3.org/TR/css-cascad
3034 1 . 利用者による宣言
3135 1 . ユーザーエージェントスタイルシートでの宣言
3236
33- ユーザーエージェントスタイルシートの宣言より作者による宣言、つまりHTMLファイルからリンクされたCSSなどの宣言が優先されるため、ユーザーエージェントスタイルシートのスタイル宣言を上書きできます。
37+ たとえばユーザーエージェントスタイルシートの宣言より、HTMLファイルからリンクされたCSS内の宣言が優先されるんだって。
38+ だからユーザーエージェントスタイルシートのスタイル宣言を上書きできるんだよー!
39+ …うー、ボスー!ちょっとよく分かんないよー!
3440
3541== なぜReset CSSを使うのか
3642
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})。ふっしぎー!
4047// footnote[font-serif][文字の線の端にある小さな飾りのことです]
4148
4249// image[firefox-font][Firefoxでプレビューしたときの見た目]{
@@ -45,9 +52,8 @@ Firefoxはセリフ@<fn>{font-serif}がないフォントで表示されます
4552// image[safari-font][Safariでプレビューしたときの見た目]{
4653// }
4754
48- このように単純なHTMLでも見た目に差異があります。h1要素やp要素の他にも差異はあるため、それを吸収するために何らかのReset CSSライブラリを使うか自分で差異を吸収する必要があります。
55+ こんな感じで単純なHTMLにも見た目に違いはあるんだよ!ブラウザによって得意なことは違うからなんらかのReset CSSライブラリを使うか自分で違いを吸収する必要があるんだってー!
4956
5057== Reset CSSを使わない場面
5158
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