Это работа - calc()
, как ожидается, работать с измерениями [1] с участием: длина[2] (px
, em
, ex
, ch
, rem
, %
, vw
, vh
, vmin
, vmax
, mm
, cm
и т. Д.), углы[3] (), rad
, grad
, turn
), время[4] (ms
, s
) и даже частоты и целые числа.
Если вы посмотрите на скрипку ниже, вы увидите, что базовая единица времени перехода составляет 100 мс, но я умножил ее на 20, чтобы достичь конечного времени перехода в две секунды, используя. Время перехода изменяется и рассчитывается соответственно без проблем.
Я подозреваю причину, по которой calc()
«не работает» в вашем случае, либо (1), потому что единица измерения не поддерживается используемым вами браузером, либо что (2) вы умножаете время перехода с коэффициентом 1, который, конечно, возвращает то же значение;)
div {
background-color: #eee;
width: 200px;
height: 200px;
transition: all calc(0.1s * 20) ease-in-out;
}
div:hover {
background-color: #b13131;
}
<div></div>
Источник:
- https://developer.mozilla.org/en-US/docs/Web/CSS/calc
- https://developer.mozilla.org/en-US/docs/Web/CSS/length
- https://developer.mozilla.org/en-US/docs/Web/CSS/angle
- https://developer.mozilla.org/en-US/docs/Web/CSS/time
Update: Я бы сказал, что это весьма вероятно, что calc()
в основном используется для вычисления измерения длины в браузерах, реже так для других видов измерений, особенно когда это еще экспериментальная особенность. Вот результаты теста довольно зачаточном браузера я сделал до сих пор:
- Chrome (39,0): поддерживается
- Firefox:
- 32.0.3: не поддерживается
- 35.0: не поддерживается
- Internet Explorer (11.0)): не поддерживается
- Safari (8.0.2): не поддерживается
Учитывая общее отсутствие поддержки calc()
в отличных от длины измерений, я предлагаю вам придерживаться CSS препроцессора, или JS (в зависимости от предпочтения развертывания) для достижения желаемого эффекта.
Там, кажется, не синтаксическая ошибки. Что ожидать при умножении на 1? – raam86
Вы пробовали переместить «с» из брекетов? задержка перехода: calc (0,08 * 1) s; – Giorgio
@Giorgio: Это недопустимый синтаксис. – BoltClock