是否可以使用CSS3转换与“状态”之间不同的延迟切换?例如,我试图让一个元素立即更高的悬停,然后在“mouSEOut”等待一秒,然后滑回到元素的初始高度。
演示页:jsfiddle.net/RTj9K(悬停在右上角的黑框)
CSS:#bar {transition:.4s ease-out 0,1s; }}
我认为最后的时间与延迟有关,但它似乎没有以我想象的方式工作。
解决方法
如果希望在悬停和mouSEOut上有不同的CSS转换延迟,则必须使用相关选择器来设置它们。在下面的示例中,当元素被悬停时,悬停时的初始延迟为0,但是在mouSEOut时,转换延迟1s。
/* These transition properties apply on "mouSEOut" */ #bar { transition:height .5s ease-out 1s; } /* These transition properties apply on hover */ #bar:hover { transition:height .5s ease-out 0s; }
您可以在我的问题的更新演示下面找到完整的CSS。我使用了速记过渡属性,值的顺序是:
transition:<property> <duration> <timing-function> <delay>;