Подтвердить что ты не робот

При указании значения 0 в CSS следует ли я явно отмечать единицы или пропустить?

Это скорее аргумент "философии", но я хотел бы знать, что здесь рекомендуется. Я не настраиваю его как Wiki, но в случае, если есть официальный ответ.

Очевидно, нет никакой разницы между 0px и 0em или что-то еще, поэтому можно просто указать 0, а единицы будут избыточными (см. разница CSS между 0 и 0em), Некоторые из людей, которые ответили на этот вопрос, утверждали, что всегда следует опускать единицы.

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

4b9b3361

Ответ 1

Я утверждаю, что вы должны также опустить единицы.

С точки зрения программиста, 0 == null == none == false, где 0px == 0px.

Это означает, что если вы укажете ширину границы 0, тогда никакой границы не будет, но если вы укажете границу 0px, тогда будет создана граница 0 px (что идея, стоящая за ней, в реальность 0px дает тот же результат, что и 0).

Дополнительные точки

  • unit-less 0 упрощает чтение, поскольку его легко отличить от нормальных значений единиц.
  • Имеет смысл удалить единицы, поскольку они не имеют никакого смысла находиться там (0 может означать размер, цвет и т.д.).

Заключение. Опустите единицы в 0. Они не нужны и запутываются.

Ответ 2

Спецификации Css говорят, что 0<unit> может быть записано 0. И я много раз читал, что предлагается опустить блок, я не могу вспомнить, где.

Так что опустите их.

См. Http://www.w3.org/TR/CSS2/syndata.html#length-units.

Ответ 3

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

Ответ 4

В текущих инструментах разработчика браузеров вы можете легко настроить значения в реальном времени с помощью клавиш курсора вверх/вниз, но если вы укажете 0 без единицы, то это не сработает, так как браузер не будет знать, предпочитают и устанавливают 1, 2... без единицы не имеет значения.

Вот почему я всегда указываю единицу в настоящее время и на нулевые значения. Любой CSS minifier изменит это значение на 0 на минимализацию, поэтому вам даже не нужно заботиться об этом.

Ответ 5

Мне также нравится помещать единицы по моим нулям, потому что...

  • IDE любят иметь значения там, чтобы они могли их правильно увеличивать, как сказал Иштван.
  • Мне не нужно вводить блок позже, если я введу другое значение. И мне не нужно пытаться забыть удалить блок, если он равен нулю или вернет его, если это не так.
  • Один плакат сказал, что голый ноль был более читабельным. Я нахожу, что он не. Когда есть единица, у вас есть контекст, и это делает ее более читаемой. Например, если я сталкиваюсь с знаком процента, я знаю, что использую это по-разному, чем единица "px", поэтому я сразу узнаю некоторые вещи, которые могут быть.
  • Другой парень, "красный", имел этот, который выглядит как хорошая информация. Вот фрагмент...

    Однако вы заметите это, если вы намеревались изменить предыдущее значение в каскаде. a '0em' говорит: "измените значение до 0em", но нуль может просто сказать "игнорировать это правило" и оставить прежнее правило действующим. Это может быть совсем не то, что вы намеревались с вашим голым "0". ссылка на исходную статью

Ответ 6

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

Ответ 7

Как примечание к этому вопросу: единичный 0 в качестве длины не будет работать в calc(), вместо этого вы должны написать 0px.

Спецификация:

Примечание. Так как <число-токен> всегда интерпретируется как <число> или <целое число>, то "без единиц 0" <длина> не поддерживаются в математических функциях. То есть ширина: calc (0 + 5px); недопустим, потому что он пытается добавить <число> к <длина>, хотя оба width: 0; и ширина: 5 пикселей; действительны.

.a, .b { border: 10px solid; height: 30px; }
.a { width: calc(200px + 0px); border-color: #f00; }
.b { width: calc(200px + 0); border-color: #330; }
<div class="a"></div>
<div class="b"></div>