Адаптивный дизайн

Brand from Amber
На сайте с 18.08.2007
Offline
291
1883

Решил я вспомнить молодость и немного поверстать. Оказывается со времён HTML 4.01 прошло так много времени, что вместо JavaScript теперь используют jQuery, а дизайны стали должны уметь подстраиваться под мобильные устройства. :lol: Ну да ладно ... с JQuery всё оказалось достаточно просто и вопросов не возникло, а вот с адаптивным дизайном что-то не совсем заладилось. Надеюсь, что современные гуру помогут "динозавру" ...

Имеем:

Сайт школы китайского языка для детей - http://sunnyi.ru/ который некорректно отображается на мобильных устройствах:

1. Если сайт открыть на устройстве впервые, то он открывается в увеличенном виде:

Непонятно почему так и как это исправить.

(изображения кликабельны)

2. После того как вручную уменьшить масштаб, шрифт становится слишком мелким когда экран расположен вертикально:

при горизонтальном расположении экрана шрифт нормальный (такой какой и должен быть):

Складывает впечатление, что браузер подстраивает шрифт именно под горизонтальное расположение экрана. Как бы сделать так, чтобы он менял масштаб шрифта в зависимости от расположения? (понятно, что что это можно сделать через JS, а можно ли как-нибудь по проще?)

P.S. Заранее спасибо за конструктив.

Лучший способ понять что-то самому - объяснить это другому.
BrightGuy
На сайте с 03.10.2010
Offline
179
#1

Я бы для начала разобрался с min-width:700px; в верстке. С адаптивостью под моб. это немного конфликтует.

А дальше уже через медиа запросы регулировать все в зависимости от расширения экрана

-= Сайты на заказ | Правки, обновление, работы по DLE =- (/ru/forum/791118) Skype: rus.shevchuk (skype:rus.shevchuk?chat) | Telegram: @ruslansh (tg://resolve?domain=ruslansh) | ICQ: 606535768 | info@ruslan-shevchuk.com
Z0
На сайте с 03.09.2009
Offline
757
#2

Я часть адаптивности элементов не через медиа запросы делаю, а через jquery, вот такой я дурень 🤪

Brand from Amber
На сайте с 18.08.2007
Offline
291
#3
BrightGuy:
Я бы для начала разобрался с min-width:700px; в верстке. С адаптивостью под моб. это немного конфликтует.

Не знал. Убрал min-width и шрифты действительно увеличились (правде вёрстка немного расползлась, но это ожидаемо). Ок, вернусь как переделаю. Спасибо.

Brand from Amber
На сайте с 18.08.2007
Offline
291
#4

Как и обещал - возвращаюсь. Во-первых, хочу ещё раз сказать спасибо BrightGuy - изменил немного код и всё стало вполне удобоваримо на мобильных устройствах: http://sunnyi.ru/.

Оказалось, что адаптивный дизайн это банальное сжатие до минимальных размеров по ширине. Всё настолько просто, что даже почти неинтересно ... но, к сожалению полностью реализовать это средствами HTML весьма затруднительно (хотя и возможно) и нужно подключать либо @media-запросы в css, либо JS (чем я и воспользовался по совету ziliboba0213). В этой связи у меня возник вопрос: что из них предпочтительней при адаптации сайта под разные разрешения и почему? ИМХО, JS универсальное, т.к. поддерживается большим количеством браузеров, а также (если не ошибаюсь), в отличии от CSS работает при изменении размера окна браузера без перезагрузки содержимого. В чём же плюсы медиазапросов? Может они быстрее отрабатываются? Или ещё что-нибудь?

S
На сайте с 30.09.2016
Offline
469
#5
Brand from Amber:
ИМХО, JS универсальное, т.к. поддерживается большим количеством браузеров, а также (если не ошибаюсь), в отличии от CSS работает при изменении размера окна браузера без перезагрузки содержимого.

ИМХО, как раз наоборот. Слова JS и CSS надо переставить местами.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Brand from Amber
На сайте с 18.08.2007
Offline
291
#6
Sitealert:
JS и CSS надо переставить местами

Меня больше интересует не порядок, а его аргументация.

S
На сайте с 30.09.2016
Offline
469
#7
Brand from Amber:
Меня больше интересует не порядок, а его аргументация.

Ну оно же ИМХО на ИМХО :)

Ну, а вообще - CSS работает с тем DOM, который есть, и ему уж точно ни к чему перезагружать страницу. А вот JS как раз может нагородить своих элементов, и тогда либо код надо усложнять, либо перезагружать. Ну и насчёт совместимости - CSS как раз более консервативен, а в JS постоянно новые фишки появляются.

L
На сайте с 18.05.2015
Offline
67
#8

Научитесь еще выносить js и css во внешние файлы)))

Brand from Amber
На сайте с 18.08.2007
Offline
291
#9
Sitealert:
CSS работает с тем DOM, который есть, и ему уж точно ни к чему перезагружать страницу

Проверил https://jsfiddle.net/7wkfbL4d/ - действительно так. И всё-таки, пока плюсов (перед JS - который не городит своих элементов, не использует "новые фишки" и выполняет только функции аналогичные медиазапросам - я не вижу. А вот у JS - вижу: адаптивные версии сайта будет корректно отображаться в ИЕ 6-8. Хочу хоть увидеть один аналогичный плюс нового CSS.

---------- Добавлено 04.11.2017 в 21:05 ----------

listian, я не просил "умничать" и анализировать качество моей "лабы" - на то она и лаба, что не оптимизирована. Или Вы и вправду считаете, что я не умею выносить css и js в отдельные файлы?

I2
На сайте с 07.03.2015
Offline
38
#10

На самом деле, все что можно сделать через css, нужно делать css-ом.

js только на крайний случай (перенос блока куда-нибудь)

Так как работа с DOM деревом очень ресурсоемкая, а это лишняя нагрузка.

Да и править/читать проще css.

Качественная верстка PSD макетов (/ru/forum/974524)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий