Размеры элементов в пикселях, почему..?
Я веб-разработчик уже около 12 лет, многие из них - хобби, а последние 5 - профессионалы. Но я все еще не могу разобраться со следующей проблемой, и это, вероятно, действительно глупый вопрос, особенно от меня, но:
Почему мы все еще используем пиксели для измерений?
Приблизительно два-три года назад я увидел зарю новых экранов HiDPI, таких как iPhone 4. Мне действительно было интересно, как это повлияет на нас в веб-дизайне и веб-разработке. Я работаю в рекламном агентстве и знаю больше, чем обычный веб-разработчик о печати (например, о печати на бумаге или других физических материалах). Когда я думал о том, куда мы пойдем дальше, я думал о принтах; они не зависят от пикселей (или точек используют правильные термины) по размеру, что было бы абсолютно глупо. Потому что, если вы отправляете документ на принтер, вам нужно знать DPI этого устройства, прежде чем приступить к разработке документа. Вот почему они используют метрические (или императорские или любые другие) размеры, а затем просто заранее решают, насколько высокий DPI они будут поддерживать. (300 точек на дюйм это довольно стандартный максимум)
Итак, мой ответ на вопрос выше (два года назад) был следующим: мы, вероятно, собираемся использовать метрики или другую непиксельную систему измерения для устройств. Потому что у нас будет много разнообразных устройств с большим количеством точек на дюйм. И это почти единственный способ убедиться, что устройство будет отображать веб-сайт так, как должно.
Теперь, два года спустя, мы использовали некоторые другие решения. Которые все еще больше походят на обходные пути, чем на настоящие решения для большого разнообразия настроек экрана.
Не верны ли мои ожидания относительно системы показателей? Есть ли что-то, что я упускаю из виду, что сделало бы это решение невозможным? Есть ли настоящее логическое решение, которое я пропускаю?
1 ответ
Пиксели - это фиксированный формат для экрана, и, как вы знаете, все просматриваемые веб-устройства доступны через экран (мониторы, планшеты, телефоны и т. Д.). Как вы правильно сказали, DPI и PPI - это очень разные вещи, но, поскольку наш экран не заботится о точках, он работает.
Тем не менее, он не масштабируется, где это делают (например, для шрифтов) % и "em".
Чтобы более подробно объяснить px и его фиксированный размер, вот небольшая цитата со страницы W3.org:
Чтобы получить представление о внешнем виде пикселя, представьте компьютерный монитор с электронно-лучевой трубкой 1990-х годов: наименьшая точка, на которой он может отображать, составляет около 1/100 дюйма (0,25 мм) или чуть больше. Устройство px получило свое название от этих пикселей экрана.
В настоящее время существуют устройства, которые в принципе могут отображать более мелкие острые точки (хотя для их просмотра может потребоваться увеличитель). Но документы прошлого века, которые использовали px в CSS, выглядят одинаково, независимо от устройства. Принтеры, в частности, могут отображать четкие линии с гораздо меньшими деталями, чем 1px, но даже на принтерах линия в 1px выглядит почти так же, как на мониторе компьютера. Устройства меняются, но px всегда имеет одинаковый внешний вид.
Теперь дело в том, что это зависит от того, что вы хотите для макета - у нас есть%, px, pt, em (и т. Д.), И мы можем выбрать использование этих инструментов (или нет) для поставленной задачи. Многие люди не будут использовать подход, который изменяет масштаб в зависимости от устройства (и для этого у нас есть автоопределение), в то время как для других он идеально подходит.
Для меня проблема масштабирования заключается в том, что очень трудно масштабировать относительно всего дизайна... В браузере с более высоким или низким разрешением ваш текст может отображаться на одной строке или иметь необходимость переноситься на несколько строк. Если это важно, используйте пиксели, чтобы исправить это.
Это также, почему так много сайтов сосредоточены (включая этот). Это дает иллюзию, что весь экран снят, но это не так - в левом и правом полях есть пустое пространство, и это не имеет значения - контент ясен, и дизайнер имеет контроль.
Я не могу сосчитать, сколько раз мой клиент запрашивал масштабирование (вопреки моему совету), чтобы потом столкнуться с проблемами макета - как вы можете догадаться, я заинтересован в этом.
Тем не менее, то, что здорово, это использовать оба вместе - иметь фиксированные размеры в пикселях в качестве обертки и использовать внутри% или аналогичные - это снова создает иллюзию плавности, не теряя слишком много контроля.
Я не думаю, что ваш вопрос получит прямой ответ, потому что, боюсь, он будет основан на мнениях.