Я рекомендую руководствоваться следующими принципами:
— за одну сессию устройство сменить нельзя, а ориентацию можно;
— пользователь не должен ждать загрузки стилей / отрисовки страницы при смене ориентации экрана.
Решение такое:
— определяем на сервере устройство;
— отдаем стили для различных ориентаций в одном файле;
— на продакшене стили лежат исключительно в CSS;
— а при разработке использовать переменные, а-ля $device и миксины а-ля tablet_p.
.bla {
// common style
@if $device == desktop {
// style for desktop
}
@if $device == tablet {
// style for tablet portrait
@include tablet_p {
// style for tablet portrait
}
@include tablet_l {
// style for tablet landscape
}
}
}
Википедия к этому списку еще много чего приписывает
— за одну сессию устройство сменить нельзя, а ориентацию можно;
— пользователь не должен ждать загрузки стилей / отрисовки страницы при смене ориентации экрана.
Решение такое:
— определяем на сервере устройство;
— отдаем стили для различных ориентаций в одном файле;
— на продакшене стили лежат исключительно в CSS;
— а при разработке использовать переменные, а-ля $device и миксины а-ля tablet_p.
float: left; display: inline-block;
<menu>
.<menu>
, ведь его использование рекомендовано только в контекстных меню?<menu>
для меню сайта. Так как нет четкого соглашения для каких целей его использовать.Используемая мной структура:
<nav> <ul> <li> <a> <span>