@NikitaNikitich
Какая разница, буду ли я верстать через max или min, если в итоге css файл все равно загружается полностью, со всеми стилями от десктопной версии? От того что я верстаю через min, свойств в css файле меньше не становится.
Тогда за счет чего страница должна загружаться быстрее? Ведь во всех статьях говорят, что при Mobile First страница быстрее грузится, но в этих статьях не объясняется почему.
Вот есть сайт, у которого мобильная и десктопная версии отличаются не только расположением элементов, но и их количеством.
Например, в хедере на мобильной версии, только логотип и меню, а на десктопе все те же логотип и меню, но еще над всем хедером добавляется верхняя часть, с какой-нибудь информацией.
Если бы я делал через min-width, то верхняя часть хедера изначально была бы скрыта (display: none), но при ширине выше, например 768px, я бы ее показал (display: block) и писал бы остальные свойства для нее в этом же медиа-запросе.
Если бы я делал через max-width, то эта часть хедера была бы изначально видна и были бы описаны все нужные для нее свойства, а при ширине меньше 768px я бы ее просто скрыл (display: none).
Как видите стилей выходит ни больше ни меньше. Вся разница лишь в том, что в первом случае (min-width) свойства для мобильной версии будут находиться выше в css-файле, чем для десктопной. И все, в этом вся разница. Где тут увеличение скорости загрузки и экономия мобильного трафика? Хотелось бы увидеть объяснение с точки зрения работы браузера, обработки им css файла. Я не могу понять, что я не улавливаю.
Решения вопроса 1
@Get-Web
Далее, даже если не обращать внимание на то с каких устройств заходят посетители, вам придется подстраиваться под поисковые системы, которые требуют оптимизацию под мобильные устройства. При Mobile First верстке у вас эта оптимизацию получится сама собой так как вы выбираете кратчайший путь к правильному отображению. Браузер не будет вообще применять свойства которые больше доступного размера, в то время как при first desktop будут применены все стили и переопределены, отсюда и всякие визуальные скачки при входе на сайт, которые критичны для первой отрисовки и прочие хорошо наблюдаемые не точности с отступами, вылезание блоков за пределы экрана и т.д.. А в случае, если начинают манипулировать вложенностью повышая специфичность, то первый рендеринг для мобильных устройств превращается в страдания
Кроме того, все становится более логично, шрифты увеличиваются, картинки становятся больше, как по мне это воспринимается намного легче и разгружает мозг.
От того что я верстаю через min, свойств в css файле меньше не становится.
Ну так все приходит с опытом
Если бы я делал через min-width, то верхняя часть хедера изначально была бы скрыта (display: none), но при ширине выше, например 768px, я бы ее показал (display: block) и писал бы остальные свойства для нее в этом же медиа-запросе.
Это все нюансы, один display: block ничего не порешает. Но бывают ситуации когда стоит комбинировать и min и max, я например описываю меню в отдельных media, я не делаю общих стилей для десктопа и мобилок, потому что там общего практически ничего нет, даже цвета и шрифты иногда отличаются вот кстати размышления Вадима Макеева на эту тему, я делал так задолго до просмотра этого видео и это удобно, кроме того используя сборщик можно раскидать их в разные файлы работать как с отдельными блоками не оглядываясь на переопределения.
Ответы на вопрос 4
@noder_ss
@firedragon
Мобильные сценарии и десктопные очень разные.
Как пример класс container самый широкий 1320px и просто забавно выглядят сайты на 4к и 8к дисплеях.
Дальше огромные размеры контролов и отступы все это съедает место.
Излишняя верстка для адаптивности, это относится к таблицам превращающимся в карточки.
Инфинити скрул, это вообще придумал дьявол
Так что лучше сделать мобильную и десктопную версию.
@vetero4eg
Во-вторых, mobile first даже в верстке точно не только про min / max — width, это опять же про проектирование, направление мысли, выбор инструментов… глубина зависит от умений, исходных данных и поставленной задачи.
Что на деле: как правило при верстке / разработке сайта подходом mobile-first пытаются закрыть те упущенные вещи, которые должны были быть сделаны на этапе проектирования, но не сделаны. Увы, среди разработчиков и верстальщиков знатоков юзабилити также не много, как среди дизайнеров людей, понимающих нюансы верстки / разработки. Поэтому мы имеем то, что имеем, и принципиальность разницы desktop / mobile first становится действительно порядком «ненатуральной», надуманной. Примерно также выглядит ситуация c последователями pixel perfect верстки по кривым-косым макетам без хоть сколько-нибудь продуманной дизайн системы, но это уже совсем другая история.
@Froggyweb