異なるベースフォントサイズを設定してもメディアクエリのEM値に影響を与えない理由を理解しようとしています。emでのメディアクエリがベースフォントサイズの影響を受けていない
デフォルトのベースフォントサイズが16pxで動作していますが、残りのコンテンツは正常に反応します。
それを自分で試してみてください:PXで
メディアクエリ: https://jsfiddle.net/sebtp/n8x0tuvq/5/ [OK] EMで
メディアクエリ: https://jsfiddle.net/sebtp/n8x0tuvq/7/ [NOT OK] REMで
メディアクエリ: https://jsfiddle.net/sebtp/n8x0tuvq/10/ [NOT OK]
html {
font-size: 62.5%; /*setting the base font size to 10px*/
}
body {
background: white;
}
span {
font-size:6em; /* 60px, as it should */
}
@media only screen and (min-width: 30em) { /* 480px, should be 300px */
body {
background:red;
}
@media only screen and (min-width: 40em) { /* 640px should be 400px */
body {
background:cyan;
}
@media only screen and (min-width: 50em) { /* 800px should be 500px */
body {
background:yellow;
}
emを使用しているため、通常は親要素サイズになると思います。メディアクエリに親要素がないので、本文に設定されているフォントサイズではなく、16pxのベースフォントサイズを使用します。 – Pete