當我試圖用em
單位媒體查詢我注意到,該單元是基於瀏覽器的默認字體大小,而不是在html
根。
它打雜的時候我會設置爲20em
元素的寬度時,斷點爲min-width: 20em
。這種情況下的兩個單位不相等,因爲元素的20em
基於html font-size
,媒體查詢基於默認的瀏覽器字體大小。CSS斷點和em單位
是否有一種方法可以使用em
單元實現相同的尺寸,而不需要爲斷點定義額外的單獨變量(@bp-size: 16.250em
)?
html {
font-size: 0.813em; // 13px (assume default browser font-size: 16px)
}
.box {
width: 1em; // 13px x 13px
height: 1em;
background-color: #000;
// Problem
@size: 20em;
@media screen and (min-width: @size) { // 320px (20 x 16px) why not 260px?
width: @size; // 260px (20 x 13px)
background-color: #f00;
}
}
<div class="box"></div>
我剛剛檢查過,'rem'在這種情況下和'em'一樣。 http://codepen.io/anon/pen/ygvGdK BTW我知道'rem'和'em'之間的區別。 – rafr3
我不明白爲什麼我不可能使用一個變量同時定義斷點和元素,以及爲什麼斷點單元基於瀏覽器的設置。 – rafr3
由於提供你的榜樣,父母是''本身 - 無論是直接父和根源是相同的元素,這樣既'em'和'rem'將努力以同樣的方式(基於13像素):) –