1. Всё зависит от макетов, реализованных для разных размеров
viewport, и комментариев дизайнера. В каких-то блоках отступы могут зависеть от размера шрифта, в каких-то от ширины блока, а где-то оставаться стационарными.
2. Используя в качестве единицы величины кегля
rem, вы игнорируете возможность наследования от родителя. При этом каскад рассчитывается ровно столько же, и вы не получаете увеличение скорости построения CSSOM. Вот вам простой пример — в блоке есть 2 элемента, величина кегля для первого должна быть в 2 раза больше второго, для которого размер кегля должен быть в 1.5 раза больше, чем у родителя.
HTML<div class="sample">
<div class="sample-one">Text</div>
<div class="sample-two">Text</div>
</div>
CSS.sample-one {
font-size: 3em;
}
.sample-two {
font-size: 1.5em;
}
Изменяя размер кегля родительского блока, я всегда получаю нужный результат. А, в случае привязки к
rem, я буду вынужден менять размер в 3-х элементах. А если таких вложений будет 10?
3. Все
media queries работают по принципу
if. Каждый будет проверен на соответствие и, в случае положительного результата, применяются описанные в блоке правила с учётом
специфичности и
порядка.