Skip to content

Commit 518f11b

Browse files
authored
Merge pull request #13 from o2project/friends
原稿にサンドスターを当てまくった
2 parents e9a4c4e + 12b8b90 commit 518f11b

File tree

6 files changed

+156
-189
lines changed

6 files changed

+156
-189
lines changed

articles/ch01.re

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
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

Comments
 (0)