Предполагая, что существует два CSS @media запросов, как показано в следующем примере:Являются ли CSS @media заявления запроса каскадными свойствами, указанными в em unit?
@media screen and (min-width:720px) {body{font-size: 2em;}}
@media screen and (max-width:1280px) {body{font-size: 0.5em;}}
то, что можно было бы ожидать, если body
font-size
просмотре страницы в устройстве с 1280 х 800 разрешение экрана (а именно: 2em
, 0.5em
или 1em
)?
Для дополнительной ясности: в этом контексте «каскадирование» означает, что результат будет рассчитываться путем применения всех совпадающих случаев, то есть 2em * 0.5em.
По аналогии, имеющая CSS следующим образом:
TEST1<div style="font-size:2em">TEST2<div style="font-size:0.5em">TEST3</div></div>
font-size
внутреннего TEST3 текста будет 1em
(2em * 0.5em = 1em
, то есть такой же, как оригинальный TEST1). Посмотреть на jsfiddle: https://jsfiddle.net/bj3xsanq/2/
Спасибо за сообщение. Я добавил некоторую ясность в определение, поэтому похоже, что последний запрос будет отменять все предыдущие совпадения, поэтому семантически это своего рода исключительная логика (только одна из многих). Просто чтобы убедиться, что каскадирование не произойдет, как 2em * 0.5em, заканчивается 1em, потому что оба случая соответствуют условию. –
Если оба запроса совпадают, последнее определение будет перезаписано первым. Он подчиняется обычным правилам CSS - вы можете думать о медиа-запросах, таких как «механизм рендеринга сохраняет все совпадающие запросы» и удаляет все несоответствующие, в виде _preprocessing step_ ». Я обновил ответ, чтобы продемонстрировать, что умножения не происходит. –
Еще раз спасибо. Я думаю, что это правильно для всех других свойств, но em unit означает мультипликатор, который должен использовать внутренний элемент для значения родительского элемента, поэтому в этом случае он, вероятно, должен быть 2em * 0.5em = 1em, как в примере на jsfiddle. –