CSS转换属性不是基于转换持续时间逐渐发生的是因为可能存在以下几种情况:
- 未设置转换持续时间:如果没有为CSS转换属性设置持续时间(transition-duration),则转换将立即发生,没有逐渐过渡的效果。
- 转换持续时间设置为0:如果将转换持续时间设置为0s或0ms,那么转换也将立即发生,没有逐渐过渡的效果。
- 转换属性不支持过渡:并非所有的CSS属性都支持过渡效果。只有一些特定的属性,如宽度(width)、高度(height)、位置(position)、颜色(color)等,才能通过设置转换持续时间来实现逐渐过渡的效果。如果你的转换属性不在这些支持过渡的属性范围内,那么转换将不会逐渐发生。
- 转换属性值不可动画化:有些CSS属性的某些属性值是不可动画化的,即使设置了转换持续时间,也无法实现逐渐过渡的效果。例如,display属性的值从"none"到"block"之间的转换是不可动画化的。
总结起来,如果你的CSS转换属性不是基于转换持续时间逐渐发生,可能是因为未设置转换持续时间、转换持续时间设置为0、转换属性不支持过渡或转换属性值不可动画化。请检查你的CSS代码,确保正确设置了转换持续时间,并且转换属性是支持过渡效果的。