Когда/Почему значения свойств CSS должны указывать «px»?

#html #css

Вопрос:

Я заметил, что значения свойств CSS иногда по умолчанию используют «px», даже если это не указано. Однако для других свойств не указать единицу измерения является ошибкой. Почему это происходит? В общем, какие свойства нуждаются в «px», а какие по умолчанию «px»?

Вот несколько примеров каждого типа собственности. Я использую последнюю версию Firefox на Ubuntu:

  • По умолчанию «px»:
    • поля/заполнение
      • также поля-слева, отступы-справа и т. Д.
    • ширина/высота
  • Игнорируется/ошибки отсутствуют, если единица измерения:
    • обивка-встроенная, поля-блок и т. Д.
      • кроме того, начало блока полей, заполнение встроенного конца и т. Д.
    • радиус границы
      • также граница-радиус-верхний левый и т. Д.

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

Почему некоторым свойствам CSS нужен модуль, а некоторым по умолчанию «px»?

Комментарии:

1. Значения по умолчанию «px»: —> как вы проверили, что они по умолчанию равны px?

2. @TemaniAfif, если я проверил, опробовав его. Однако инструменты разработки очень помогли.

Ответ №1:

Все свойства CSS, которые принимают значение длины, требуют единиц измерения (примером которых px является) для значений, отличных от 0 .

Это всегда было правилом для CSS, так что это не имеет никакого отношения к сопровождающим спецификации CSS.

Для обратной совместимости с ошибочными браузерами 1990-х годов, когда тип документа страницы запускает режим «причуды«, длина по умолчанию px равна единицам. Это намеренная эмуляция ошибок разработчиками браузеров.

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


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

Комментарии:

1. Я согласен, что режим причуд-это больше проблем, чем того стоит. Теперь, когда я знаю этот короткий путь, у меня возникает соблазн отказаться от «px» только в этих случаях, чтобы сэкономить на наборе текста, по крайней мере, в домашних/тестовых проектах, хотя я, вероятно, этого не сделаю.

2. Вау, только что понял, что я на самом деле был в режиме причуд. Это тестовое репо, так что мне просто нужно было, чтобы оно выглядело нормально. И все же мне следовало быть более внимательным.