.button:hover { background-color: #FF0000; animation: button-animation 1s ease-in-out forwards; } @keyframes button-animation { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } }
以上代码是一个按钮的例子。当用户将鼠标悬停在按钮上时,按钮的背景色会变为红色(定义在:hover中),同时启动一个名为button-animation的动画,持续1秒,以ease-in-out方式缓动,并保持动画最终状态(定义在animation中的forwards属性)。
动画本身是以@keyframes为定义方式。在这个例子中,定义了从初始状态(0%)起开始,将按钮缩小到正常大小(即原始状态,scale(1)),到中间的点(50%)时将按钮放大20%(scale(1.2)),再到最后状态(100%)使按钮缩小回到原始状态。
CSS3动画和hover的结合,可以让网页元素更加生动有趣,增强用户体验,提升网站的品质。