5353
5454 < main class ="book-body col-md-10 ">
5555 < h1 > < a id ="h1 "> </ a > < span class ="secno "> 第1章 </ span > Reset CSSとは何か</ h1 >
56- < p > Reset CSSは、Web上のページを読み込んだときに既定で適用されるスタイル宣言(ユーザーエージェントスタイルシートとも呼ばれます)をリセットするものです。Reset CSSは< b class ="kw "> Hard reset</ b > <!-- IDX:Hard reset --> と呼ばれる「ユニバーサル(全称)セレクタを使ってすべてのmarginとpaddingを0にする」手法から始まりました(リスト1.1)。そこから今日にいたるまでさまざまな手法が開発されています。</ p >
56+ < p > ここからReset CSSについて解説するよ!かばんちゃんから教えてもらったことを、できるだけ分かりやすく私が教えるからね!</ p >
57+ < p > Reset CSSっていうのは、Webページを読み込んだときに既定で適用されるスタイル< a id ="fnb-user-agent-stylesheet " href ="#fn-user-agent-stylesheet " class ="noteref " epub:type ="noteref "> *1</ a > をリセットするものだよ!</ p >
58+ < p > < b class ="kw "> Hard reset</ b > <!-- IDX:Hard reset --> っていう「ユニバーサル(全称)セレクタを使ってすべてのmarginとpaddingを0にする」ところから始まったんだよ!(リスト1.1)そこから今までさまざまなReset CSSのフレンズが生まれたんだって!すっごーい!</ p >
59+ < div class ="footnote " epub:type ="footnote " id ="fn-user-agent-stylesheet "> < p class ="footnote "> [*1] ユーザーエージェントスタイルシートとも呼ばれます</ p > </ div >
5760< div class ="caption-code ">
5861< p class ="caption "> リスト1.1: 初期のReset CSSであるHard reset</ p >
5962< pre class ="list "> * {
@@ -64,7 +67,7 @@ <h1><a id="h1"></a><span class="secno">第1章 </span>Reset CSSとは何か</h
6467</ div >
6568
6669< h2 > < a id ="h1-1 "> </ a > < span class ="secno "> 1.1 </ span > なぜReset CSSはユーザーエージェントスタイルシートを上書きできるか</ h2 >
67- < p > Reset CSSはユーザーエージェントスタイルシートでの宣言を上書きすることにより、スタイル宣言をリセットしています。なぜリセットできるのでしょうか?それはスタイル宣言がされた場所 (オリジン)によって適用されるスタイルの優先順位があるためです。 CSS Cascading and Inheritance Level 3(< a href ="https://www.w3.org/TR/css-cascade-3/#cascading " class ="link "> https://www.w3.org/TR/css-cascade-3/#cascading</ a > )から優先順を引用すると次のとおりです 。</ p >
70+ < p > Reset CSSはユーザーエージェントスタイルシートの宣言を上書きすることで、既定で適用されるスタイルをリセットしているんだよ!なんでリセットできるかって?それはスタイル宣言がされたちほー (オリジン)によって適用されるスタイルの優先順位があるためなんだって。よくわかんないけど、 CSS Cascading and Inheritance Level 3(< a href ="https://www.w3.org/TR/css-cascade-3/#cascading " class ="link "> https://www.w3.org/TR/css-cascade-3/#cascading</ a > )から優先順位を引用すると次のとおりみたい 。</ p >
6871< ol >
6972< li > transitionの宣言</ li >
7073< li > !important付きのユーザーエージェントスタイルシートでの宣言</ li >
@@ -77,11 +80,12 @@ <h2><a id="h1-1"></a><span class="secno">1.1 </span>なぜReset CSSはユー
7780< li > 利用者による宣言</ li >
7881< li > ユーザーエージェントスタイルシートでの宣言</ li >
7982</ ol >
80- < p > ユーザーエージェントスタイルシートの宣言より作者による宣言、つまりHTMLファイルからリンクされたCSSなどの宣言が優先されるため、ユーザーエージェントスタイルシートのスタイル宣言を上書きできます。 </ p >
83+ < p > たとえばユーザーエージェントスタイルシートの宣言より、HTMLファイルからリンクされたCSS内の宣言が優先されるんだって。だからユーザーエージェントスタイルシートのスタイル宣言を上書きできるんだよー!…うー、ボスー!ちょっとよく分かんないよー! </ p >
8184
8285< h2 > < a id ="h1-2 "> </ a > < span class ="secno "> 1.2 </ span > なぜReset CSSを使うのか</ h2 >
83- < p > Reset CSSが使われる理由は、ブラウザが既定で読み込むユーザーエージェントスタイルシートがブラウザ間で差異があるためです。例として< code class ="inline-code tt "> h1</ code > 要素と< code class ="inline-code tt "> p</ code > 要素のみ定義したHTMLをブラウザで見てみます。Firefoxはセリフ< a id ="fnb-font-serif " href ="#fn-font-serif " class ="noteref " epub:type ="noteref "> *1</ a > がないフォントで表示されます(図1.1)が、Safariはセリフがあるフォントで表示されます(図1.2)。</ p >
84- < div class ="footnote " epub:type ="footnote " id ="fn-font-serif "> < p class ="footnote "> [*1] 文字の線の端にある小さな飾りのことです</ p > </ div >
86+ < p > Reset CSSを使うのは、ブラウザが既定で読み込むユーザーエージェントスタイルシートがブラウザ間で違いがあるからなんだよ!たとえば< code class ="inline-code tt "> h1</ code > 要素と< code class ="inline-code tt "> p</ code > 要素だけ書いたHTMLをブラウザで見てみるよ。</ p >
87+ < p > するとFirefoxはセリフ< a id ="fnb-font-serif " href ="#fn-font-serif " class ="noteref " epub:type ="noteref "> *2</ a > がないフォントだけど(図1.1)、Safariはセリフがあるフォントだよ(図1.2)。ふっしぎー!</ p >
88+ < div class ="footnote " epub:type ="footnote " id ="fn-font-serif "> < p class ="footnote "> [*2] 文字の線の端にある小さな飾りのことです</ p > </ div >
8589< div id ="firefox-font " class ="image ">
8690< img src ="images/firefox-font.png " alt ="Firefoxでプレビューしたときの見た目 " />
8791< p class ="caption ">
@@ -94,10 +98,10 @@ <h2><a id="h1-2"></a><span class="secno">1.2 </span>なぜReset CSSを使う
9498図1.2: Safariでプレビューしたときの見た目
9599</ p >
96100</ div >
97- < p > このように単純なHTMLでも見た目に差異があります。h1要素やp要素の他にも差異はあるため、それを吸収するために何らかのReset CSSライブラリを使うか自分で差異を吸収する必要があります。 </ p >
101+ < p > こんな感じで単純なHTMLにも見た目に違いはあるんだよ!ブラウザによって得意なことは違うからなんらかのReset CSSライブラリを使うか自分で違いを吸収する必要があるんだってー! </ p >
98102
99103< h2 > < a id ="h1-3 "> </ a > < span class ="secno "> 1.3 </ span > Reset CSSを使わない場面</ h2 >
100- < p > Reset CSSを使う理由として「ブラウザの既定で適用されるスタイル定義の差異を吸収するため」と書きました。そのため < b class ="kw "> NW.js</ b > <!-- IDX:NW.js --> や< b class ="kw "> Electron</ b > <!-- IDX:Electron --> といったChromiumしか存在しない環境ではReset CSSを使う必要はなく、必要に応じてユーザーエージェントスタイルシートのスタイル定義をリセットするとよいです。 </ p >
104+ < p > Reset CSSを使うのは、ブラウザが既定で適用するスタイルがブラウザ間で違いがあるからだけど、 < b class ="kw "> NW.js</ b > <!-- IDX:NW.js --> ? や< b class ="kw "> Electron</ b > <!-- IDX:Electron --> ?みたいな < b class =" kw " > Chromium </ b > <!-- IDX:Chromium --> ?しか無いちほーではReset CSSを使わなくていいんだって! </ p >
101105 </ main >
102106
103107 < nav class ="book-navi ">
0 commit comments