не совсем так. в молодости я любил искать причины и следствия в спецификациях. Там всё описано, в том числе "неведомое".
Однако читать спеки - то еще удовольствие..
Сергей delphinpro, кстати врядли в спеке явно описано это поведение.:)
Суть то тут в том, что 0% считается от родителя, но у родителя величина не задана, потому он не знает как считать процент и сбрасывает на значение по умолчанию - auto,
Т.е. в спеке написано что-то типа "при неизвестном значении принимает auto", но сходу ты такое всё равно не предскажешь.
artdeco, Какой у них компилятор? PostCSS, и он может удалять неиспользуемые правила в данном случае width:0%
(поскольку flex: none означает, что элемент будет иметь нулевую ширину, независимо от значения свойства width.).
но если если вы откроете исходный CSS-код булмы, вы увидите, что там используется именно вот такой код:
.column.is-0 {
flex: none;
width: 0%;
}
Этот код был оставлен в исходном коде Булмы по двум причинам: для совместимости с браузерами, которые не поддерживают flex: none и для удобства разработчиков
Stalker_RED, Нет, из-за проблемы с совместимостью в браузерах, которые не поддерживают flex: none:
Если свойство width: 0% используется с flex: none, удаление % после 0 может привести к тому, что элемент будет иметь ширину 100% в браузерах, не поддерживающих flex: none.
Fujita, в полной версии стоит margin:0%; width: 0%; PostCSS убирает % у margin, но не у width. То есть он знает, как это делать, и специально оставляет у width. ниже кажется написали про причину этого (про сброс до auto)
artdeco, Да, это так. PostCSS убирает % у margin, но не у width.
Удаление % у margin не приведет к непредвиденным результатам. Свойство margin: 0% устанавливает все четыре края элемента на нулевое значение. Это означает, что элемент будет иметь нулевое значение для всех четырех краев, независимо от того, есть ли % после 0 или нет.
Сергей delphinpro, Совершенно верно. Минификатор должен минимизировать код без каких-либо побочных эффектов. Если есть вероятность побочных эффектов, то лучше пожертвовать размером в символ.