Стандартные единицы CSS - PullRequest
       7

Стандартные единицы CSS

9 голосов
/ 16 февраля 2010

Можно ли изменить стандартную единицу измерения с пикселя на мм? Например, я хочу, чтобы при перемещении элемента влево и верхняя часть была в мм, а не в пикселях?

Ответы [ 6 ]

13 голосов
/ 16 февраля 2010

Нет «единицы по умолчанию». Спецификация CSS требует, чтобы длина (отличная от нуля), в которой отсутствует единица, рассматривалась как ошибка (и, следовательно, игнорируется).

В режиме quirks (и вы почти никогда не должны использовать режим quirks, это усложняет жизнь), большинство браузеров будут выполнять восстановление после ошибок и предполагают, что вы имели в виду пиксели (несмотря на то, что спецификации это запрещено).

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

12 голосов
/ 16 февраля 2010

Указание единиц CSS является обязательным для ненулевых значений. Браузеры могут попытаться угадать, что вы имели в виду, но в соответствии со стандартом это все равно будет сломанная таблица стилей.

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

1 голос
/ 16 февраля 2010

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

1 голос
/ 16 февраля 2010

Нет, вы не можете изменить единицы измерения по умолчанию, но их не должно быть слишком много, чтобы просто разместить единицы там:

#foo {
    left: 22mm;
    top: 20mm;
}

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

0 голосов
/ 16 февраля 2010

AFAIK, если не указана явная единица измерения (например, 'em' или '%'), тогда значение px объединяется со значением, и нет способа переопределить это поведение по умолчанию.

0 голосов
/ 16 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...