我正在尝试calc
在transition-delay
属性内使用CSS函数。
过渡延迟似乎可以使用以下语法正常工作:
transition-delay: 0.08s;
在屏幕上计算尺寸时,calc属性对我有用,但是我不能通过这种方式使它在计算时间上起作用:
transition-delay: calc(0.08s * 1);
如果没有预处理器,是否有可能获得此结果?
更新:已解决
这实际上是一种有效的语法,但是某些浏览器(包括Firefox和IE)不支持该语法。
它的工作-calc()
预计工作与测量[1]涉及:长度[2] ( ,,px
,em
,ex
,ch
,rem
,%
,vw
,,vh
,和等等),角[3] ( ,,, ),时间[4] (,)甚至频率和整数。vmin
vmax
mm
cm
deg
rad
grad
turn
ms
s
如果您看下面的小提琴,您会发现转换时间的基本单位是100毫秒,但是我已经将其乘以20以使用来达到2秒的最终转换时间calc()
。过渡时间可以相应地修改和计算,不会出现任何问题。
我怀疑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>
来源:
更新:我要说的是,它很有可能calc()
主要用于在浏览器中计算长度测量,而在其他类型的测量中却不太常见,尤其是当它仍然是实验性功能时。到目前为止,这是我进行的相当基本的浏览器测试的结果:
考虑到calc()
除了长度以外,通常不支持测量,我建议您使用CSS预处理器或JS(取决于部署首选项)来实现所需的效果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句