Недавно я начал использовать метод calc (...) в CSS. Я быстро понял, что код, такой как: width: calc(100%-2)
, не будет работать, хотя добавление пробела до и после оператора -
устранит проблему, и метод calc будет работать правильно.
После небольшого исследования я нашел несколько сообщений в блогах о том, что требуется пустое пространство, и многие даже указали на спецификацию (CSS3 8.1.1) который гласит:
Кроме того, пробелы требуются по обе стороны от + и - операторы. (Операторы * и/можно использовать без пробелов вокруг них.)
Теперь, очевидно, спецификация говорит нам, что эти операторы должны быть завернуты в белый пробел, но почему? Я читал далее в спецификации (через разделы 8.1.2-4), и если это объясняется в этих дополнительных частях, я не понимаю рассуждений.
Проще говоря, может кто-нибудь объяснить, почему было указано, что calc(100% - 1)
или даже calc(100%/2)
является приемлемым синтаксисом, но не calc(100%-1)
?