Можно ли опустить % после 0 в CSS?

Ссылка скопирована
15 апреля 2026 1 ответ

Когда пишешь width: 0% например, это тоже самое, что и width: 0? Бывают ли какие-то исключения?

Дополнительно:

Не можно, а нужно, нормальные ide даже это подсказывают

  • Более того и 0px и 0vh и все остальные нули дадут тот же результат - ноль. Поэтому, у нулей не принято писать единицы измерения.
  • Не всегда, в некоторых случаях 0% != 0, например для flex-basis. :)
    snippet

    • когда еще? мне получается надо ща мдн спарсить на все возможные свойства, и посмотреть их возможные значения, чтобы избежать таких казисов?

      еще на стеке пишут

      border: 0 will set border-width: 0 while border: none will set border-style: none

      знает же кто-то

    • Вот тут не подскажу. Обо что сам голову разбил - то знаю, а что пока только ждёт за углом - то неведомо.:)
    • artdeco, в функциях вроде тоже имеет разницу, clamp какой нибудь
    • Aetae,

      а что пока только ждёт за углом - то неведомо.:)

      не совсем так. в молодости я любил искать причины и следствия в спецификациях. Там всё описано, в том числе "неведомое".
      Однако читать спеки - то еще удовольствие..

    • artdeco,

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

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

      А вообще, возьмите IDE типа WebStorm, и она сама вам подскажет, где вы поставили лишнее, или забыли нужное.

    • Сергей delphinpro, кстати врядли в спеке явно описано это поведение.:)
      Суть то тут в том, что 0% считается от родителя, но у родителя величина не задана, потому он не знает как считать процент и сбрасывает на значение по умолчанию - auto,
      Т.е. в спеке написано что-то типа "при неизвестном значении принимает auto", но сходу ты такое всё равно не предскажешь.
    • Aetae, 0% у margin и vertical padding будут считаться от ширины родителя поэтому неважно задана ли величина, насколько я понял
    • Aetae, ну вообще у вас описан/показан довольно специфичный случай
      тут реально нужно изучить спеку. возможно имеет место быть баг.

    Ответы:

    в keyframes нужно указывать единицу измерения (процент)

    @keyframes identifier {   0% {     top: 0;     left: 0;   }   100% {     top: 100px;     left: 100%;   } }

    @keyframes identifier { 0% { top: 0; left: 0; } 100% { top: 100px; left: 100%; } }

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Роман IT Ответ

    Да, в CSS можно опустить символ % после значения 0. В CSS, проценты обычно используются для определения размеров элементов относительно их родительских элементов. Однако, если значение равно 0, то проценты можно опустить.

    Например, если у вас есть следующее свойство CSS для задания отступа у элемента:

    margin-top: 0%;

    margin-top: 0%;

    Вы можете смело убрать % и написать:

    margin-top: 0;

    margin-top: 0;

    Оба варианта будут работать одинаково и установят отступ сверху элемента равным 0. Использование % в данном случае не обязательно, но не вызовет ошибки.

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно