假设我有一个简单的元素:
<a href="#" id="btn" onclick="return false">Click</a>
现在我可以通过点击更改这个元素的外观:active:
#btn:active { background: red; }
但是,我想要的是,在点击它之后,元素将保持红色约一秒钟,而不会更改HTML(所以没有复选框黑客)或javascript.有没有一个聪明的伎俩可以被滥用?
解决方法
回答我自己的问题通过滥用:不是伪类,我们可以在onclick发生之后触发动画:
#btn:not(:active) { /* now keep red background for 1s */ transition: background-color 1000ms step-end; } #btn:active { background: red; }