А если пользователь поворачивает планшет на 90 градусов, то width автоматически изменяется и сразу действуют другие стили из соответствующего блока?
На то она и адаптивная верстка, чтобы адаптироваться к изменяющимся параметрам. Для пропорций масштаба прописывают:
<meta name="viewport" content="width=device-width, initial-scale=1">
и
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
А если есть необходимость еще и с ориентацией экспериментировать (хотя и без этого никто не жаловался), то:
/* Портретная ориентация шаблона */
@media screen and (orientation:portrait) {
/* Стили для портретной ориентации шаблона */
}
/* Ландшафтная ориентация шаблона*/
@media screen and (orientation:landscape) {
/* Стили для ландшафтной ориентации шаблона */
}
Например, на странице товара интернет-магазина есть блок похожие товары. В полной версии сайта там 12-20 похожих товаров. Неужели и в мобильной версии надо тоже их все выводить?
А в чем проблема ? На разрешении экрана до 576px все блоки выстраиваются в один вертикальный ряд 100% ширины, и все.
При грамотном подходе проблем с этим нет.
НЕ НУЖНО ВЕРСТАТЬ ПОД РАЗНЫЕ ЭКРАНЫ РАЗНЫЙ HTML КОДВерстка должна быть единой, а поведение (адаптивность) достигается с помощью css.
Добавлено: 09-08-2018, 14:43:54
Раньше "@media only screen" прописывал буквально под все существующие размеры, потом понял что перебор, поэтому (как написал Clever) сократил раз в пять - вполне хватает.
Мне для шаблона c двумя сайдбарами, адаптирующегося от 240px до 1680px вполне хватает grid каркаса, адаптивной flexbox сетки и 3 размеров экранов:
@media (min-width: 576px) {***}
@media (min-width: 768px) {***}
@media (min-width: 992px) {***}
Также собираюсь начать применять
динамические переменные css, это очень удобно.