CSSにおけるrem単位
em単位は常に便利とは限りません。問題は、
あるタグのフォントサイズを変更すると、そのサイズを基準に
計算しているすべての子孫タグのサイズも変わってしまう点です。
そのため、rem単位が導入されました。
この単位の値は、常にhtmlタグに設定された
フォントサイズを基準として計算されます。
ご存知の通り、デフォルトではこの値は
16pxです:
html {
font-size: 16px;
}
例を見てみましょう。次のようなタグがあるとします:
<div>
<p>
text
</p>
</div>
これらにrem単位でサイズを指定してみましょう:
div {
font-size: 2rem; /* 32pxに対応 */
}
p {
font-size: 2rem; /* 32pxに対応 */
margin: 2rem; /* 32pxに対応 */
}
以下のHTMLコードに対して問題を解いてみましょう:
<main>
<h1>header</h1>
<section>
<h2>header</h2>
<p>
text
</p>
<p>
text
</p>
</section>
<section>
<h2>header</h2>
<p>
text
</p>
<p>
text
</p>
</section>
</main>
ピクセルで指定されているすべての単位をremで
書き直してください:
main {
margin: 64px auto 32px;
}
h1 {
font-size: 32px;
}
section {
font-size: 16px;
margin-bottom: 32px;
}
h2 {
font-size: 24px;
margin-bottom: 32px;
}
p {
font-size: 20px;
margin-bottom: 12px;
}