能否为特定CSS过渡属性设置延迟效果?
为特定CSS属性设置过渡延迟的方法
当然可以给不同的CSS属性设置不同的过渡延迟,但你提供的示例写法有误:重复声明transition-delay时,后写的规则会覆盖前面的,最终只有top的5秒延迟会生效,color的2秒延迟会被忽略。
正确的实现方式有两种:
1. 在transition属性中直接指定每个属性的延迟
把每个属性的过渡参数(时长、缓动、延迟)放在同一条transition规则里,用逗号分隔不同属性的配置:
{ color: red; top: 2px; transition: color 10s ease 2s, top 10s ease 5s; }
transition的完整语法是:transition: [属性名] [过渡时长] [缓动函数] [延迟时间];,每个属性的参数独立设置即可。
2. 使用逗号分隔的transition-delay规则
如果已经通过transition统一声明了属性、时长和缓动函数,可以用逗号分隔的transition-delay对应每个属性的延迟,注意顺序要和transition里的属性顺序一致:
{ color: red; top: 2px; transition: color 10s ease, top 10s ease; transition-delay: 2s, 5s; }
这里第一个延迟值2s对应color属性,第二个5s对应top属性,顺序不能搞混。
内容的提问来源于stack exchange,提问作者Hazrd
相关产品推荐
相关产品推荐

