Когда я попытался использовать em
единиц с мультимедийными запросами, я заметил, что устройство основано на размере шрифта по умолчанию браузера, а не на корне html
.
Он работает нечетно, когда я собираюсь установить 20em
для ширины элемента, когда точка останова равна min-width: 20em
. Оба устройства в этом случае не равны, потому что элемент 20em
элемента основан на html font-size
, а медиа-запрос основан на размере шрифта браузера по умолчанию.CSS Breakpoints и em unit
Есть ли способ достичь такого же размера для использования с помощью блока 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' будут работать одинаково (на основе 13px) :) –