重构交互和样式

这里需要考虑一下兼容性问题，不是所有浏览器的写法都是transitionend