Используя cm в ответных медиа-запросах?

Я использую сантиметр в своих медиа-запросах css, чтобы сделать мой шаблон отзывчивым, в то время как в наши дни у нас есть смартфоны с очень высоким разрешением, что затрудняет фильтрацию пикселей. мой вопрос в том, почему все веб-сайты не используют CM, который делает отзывчивость намного более простой и функциональной? есть что-нибудь, что будет упущено, используя cm, который я не знаю? edit: Я использую min-**device**-width как медиа-запрос.

Ответы

Ответ 1

Я также стремился использовать физические единицы для измерений CSS, так как это имеет большой смысл, особенно для разработки навыков чтения контента длинной формы на всех типах устройств. Но проблема с этим подходом состоит в том, что 1 CSS cm/in абсолютно не совпадает с 1 см/дюйм в реальном мире. Просто попробуйте сделать коробку шириной и высотой 1 см, а затем измерьте рендеринг в разных браузерах, экранах и устройствах. Вы можете быть недовольны.

Основная проблема заключается в том, что все (? well most) устройства отображают физические единицы как (неожиданное) уравнение 1in = 96px (или 1cm = ~ 37.8px). Поэтому, если вы определяете свои единицы или медиа-запросы в см, это фактически означает, что вы определяете их в соотношении ~ 37,8 пикселей, что в большинстве случаев, конечно же, не то, что вы хотите.


Ответ 2

На самом деле нет пользы в использовании cm over px.

Одна из официальных рекомендаций кандидата CSS3 определяет эти абсолютные длины:

unit    definition
‘cm’    centimeters
‘mm’    millimeters
‘in’    inches; 1in is equal to 2.54cm
‘px’    pixels; 1px is equal to 1/96th of 1in
‘pt’    points; 1pt is equal to 1/72nd of 1in
‘pc’    picas; 1pc is equal to 12pt

Поэтому 1 см примерно равно 37.80px. Если ширина экрана устройства составляет 10 см, то в пикселях это примерно 378 пикселей.

Обратите внимание на то, как я сказал "ширина устройства". Медиа-запросы поддерживают 2 разных запроса ширины и высоты: min-width и min-height основаны на разрешении экрана; min-device-width и min-device-height основаны на размере экрана.

Для получения дополнительной информации вы можете обратиться к официальной документации по медиа-запросам.

Ответ 3

Я думаю, это здорово. Даже если сантиметры прямо эквивалентны пикселям (что я не уверен в этом), это более читаемо и имеет больше смысла в их использовании. Я использовал их, но дело в том, что совместимость браузеров не кажется отличной для этих устройств при первом просмотре.

Ответ 4

Правильно, что в spec "'px' равно 1/96th из 1In" BUT В каждом браузере 1px == реальный пиксель на экране.