div { width: 200px; height: 200px; border: 1px solid #000; position: relative; } div:before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 1px solid #000; animation: borderAnimation 1s linear infinite; } @keyframes borderAnimation { 0% { transform: scale(1); } 50% { transform: scale(1.5); } 100% { transform: scale(1); } }
首先,大家需要给div设定好宽、高和边框。接着,在div的伪元素:before中,大家需要设定好内容content为空,以及position为absolute,使得它可以占据到整个div的范围。同时,大家也需要给它一个与div边框相同的边框,然后利用transform属性中的scale实现放大和缩小的效果。
接着,大家需要使用CSS3中的动画animation属性,在@keyframes中指定三个状态,在0%和100%处都是初始状态,即scale为1,而在50%处,大家将scale设定为1.5,就能实现放大的效果。最后,大家将这个动画属性放入伪元素的before样式中,让它无限循环运动。
通过这种方法,大家就能够很好地让div边框动态了,让网页更具有生动感,同时也提高了用户对网页的粘性。