Это частичный вопрос и частичная надежда на подтверждение. У меня есть подозрения относительно ответа на этот вопрос, и я добавлю свои два цента, но я хотел бы получить независимое подтверждение, так как форумы Win8 не очень хорошо документировали эту особенность, которую я смог найти.
В Windows 8 при создании приложений в стиле Metro с использованием HTML / JS / CSS все шаблоны включают ряд CSS Media Queries в 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) {}
Я хорошо знаком с Media Queries, поэтому у меня следующие вопросы: Почему нужны выражения с префиксом поставщика в 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)
Единственное правило, стандартные выражения. Нет необходимости в версии с префиксом поставщика. Чего мне не хватает?