Это отчасти вопрос и отчасти надежда на подтверждение. У меня есть подозрения по поводу ответа на этот вопрос, и я добавлю свои два цента, но я хотел бы получить независимое подтверждение, поскольку на форумах Win8 эта конкретная функция не очень хорошо задокументирована, которую я мог бы найти.
В Windows 8 при создании приложений в стиле Metro с использованием HTML/JS/CSS все шаблоны включают серию мультимедийных запросов CSS в файле default.css. Они есть:
@media screen and (-ms-view-state: fullscreen-landscape) {}
@media screen and (-ms-view-state: filled) {}
@media screen and (-ms-view-state: snapped) {}
@media screen and (-ms-view-state: fullscreen-portrait) {}
Я хорошо знаком с медиа-запросами, поэтому мои вопросы: Зачем нужны выражения с префиксом поставщика в Windows 8 и чем выражения -ms-view-state
отличаются от стандартных выражений W3C, таких как ширина, высота и ориентация? сильный>
Вот мое мнение, пожалуйста, добавьте свое ниже и подтвердите, отклоните или исправьте меня: я подозреваю, что эти правила похожи на стандартные правила, но немного более адаптивны, а это означает, что вместо определения наборов правил, соответствующих заданной ширине и высоте, эти выражения охватывают состояние независимо от разрешения. Из-за этого я могу использовать одно правило для своего приложения в ландшафтном режиме -ms-view-state: fullscreen-landscape
, и оно будет работать, когда приложение работает в разрешении 1366x768, 1920x1080 или 2560x1440. В противном случае мне пришлось бы определить эти правила три раза:
@media screen and (width: 1366px) and (height: 768px) {}
@media screen and (width: 1920px) and (height: 1080px) {}
@media screen and (width: 2560px) and (height: 1440px) {}
Предполагая, что мое утверждение верно, единственный пробел для меня заключается в том, почему я не мог просто определить одно правило, используя «min-» и ориентацию для достижения того же результата:
@media screen and (min-width: 1366px) and (min-height: 768px) and (orientation: landscape)
Одно правило, стандартные выражения. Нет необходимости в версии с префиксом поставщика. Что мне не хватает?