Проблемы с CSS и разрешениями экрана

Я создаю веб-сайт и хотел бы узнать мнение некоторых из более опытных веб-разработчиков.

Как создать веб-сайт, в котором атрибуты стиля элемента (отступы, поля, высота, ширина и т. д.) соответствуют разрешению экрана пользователя?

С помощью CSS я могу выбрать одно значение, и это окончательное значение, которое будет отображаться для всех пользователей, независимо от их разрешения при просмотре.

Например, скажем, я хочу, чтобы изображение отображалось на 10% левее его контейнера, я бы сделал следующее: padding-left: 15%; Теперь это может работать нормально для некоторых разрешений, но для других мне может потребоваться, чтобы это значение было выше.

Что делают более опытные веб-разработчики в отношении различий в разрешении экрана?


person Mike McGee    schedule 09.04.2011    source источник


Ответы (3)


Похоже, ваша цель состоит в том, чтобы ваш макет выглядел буквально одинаково при любом разрешении, что на самом деле непрактично. Помните, что изображения плохо масштабируются! Что делают большинство дизайнеров, так это используют проценты, где это возможно, чтобы позволить макету «течь», чтобы соответствовать большинству разрешений, оставаясь при этом привлекательным.

Если вы проанализируете (например) Stack Overflow. вы увидите, что это набор фиксированной ширины, центрированный в браузере. Apple делает то же самое с некоторыми художественными элементами, которые изящно отображаются при любой ширине окна. Это художественная проблема, и я не уверен, что на нее можно дать более ясный ответ.

person Winfield Trail    schedule 09.04.2011

Это полностью зависит от целей вашего дизайна.

Большинство дизайнеров используют области фиксированной ширины и размещают их по центру экрана.

В некоторых случаях вы можете использовать медиа-запросы CSS для применения определенных правил к разным типам и размерам экранов (поддержка браузеров ограничена).

Вы можете использовать min/max-width для обработки многих случаев, когда содержимое становится слишком большим или маленьким, но нет эквивалента для полей.

Графику SVG можно использовать для создания масштабируемых изображений, которые хорошо выглядят при любом разрешении.

Некоторые компании предоставляют совершенно отдельный сайт для мобильных пользователей.

Есть и другие советы и приемы, но в целом большинство дизайнеров избегают этих проблем, используя макеты с фиксированной шириной, хотя это не всегда идеально.

person SpliFF    schedule 09.04.2011
comment
Однако SVG не очень хорошо поддерживается. Я мог бы быть счастлив сказать большинству пользователей IE, чтобы они отвалили, но могу поспорить, что это не подходит для большинства сайтов. - person Winfield Trail; 10.04.2011
comment
IE9 поддерживает его, а более старые версии можно поддерживать с помощью JS в реальном времени и преобразования Flash в VML. - person SpliFF; 10.04.2011
comment
Я не думаю, что эти последние случаи действительно считаются поддержкой, но каждому свое. ;] - person Winfield Trail; 10.04.2011

Я обычно определяю эти стили в единицах em, которые относятся к размеру шрифта. Таким образом, увеличение размера текста пропорционально увеличивает отступы и поля.

person Sherm Pendley    schedule 09.04.2011