Как использовать calc()
для определения значения угла для transform:rotate()
?
В документации !mdn для функции CSS calc()
указано:
Функцию
calc()
CSS можно использовать везде, где требуются<length>
,<frequency>
,<angle>
,<time>
,<number>
или<integer>
. С помощьюcalc()
вы можете выполнять вычисления для определения значений свойств CSS.
Однако использование calc()
для создания значения угла для transform:rotate()
у меня не работает.
Предложение этого блога не работает -- transform: rotate(calc(1turn - 32deg));
, ни аналогичные варианты операций с использованием calc()
таким образом.
См. эту кодовую ручку для проверки — только пятая <div>
чередуется, как и ожидалось и не использует calc()
для определения угла.
Вот основной код из codepen, чтобы показать здесь:
div {
height: 200px;
width: 200px;
background-color: red;
}
.one {
transform: rotate(calc(1turn - 32deg));
}
.two {
transform: rotate(calc(360deg - 90deg));
}
.three {
transform: rotate(calc(360deg/4deg));
}
.four {
transform: rotate(calc(22deg + 23deg));
}
.five {
transform: rotate(45deg);
}
Та же проблема возникает у меня в последних версиях Chrome, Firefox Developer Edition и Safari.
Другие обсуждения, связанные с этой проблемой, существуют, но не предлагают никакого решения. Например:
360deg/4deg
выглядит неправильно - person Banzay   schedule 02.01.2017360deg/4deg
, и это потому, что вы ищете360deg / 4
(обратите внимание на пробел и удалениеdeg
на4
) - person Dekel   schedule 02.01.2017