📅  最后修改于: 2023-12-03 15:42:29.246000             🧑  作者: Mango
颤动文本字段是一种在用户与应用程序交互时,为增加趣味性和引起注意而产生的视觉效果,主要表现为文本字符出现微小的颤动或抖动。这种效果可以通过在UI设计中使用颤动文本字段的css动画来实现。
颤动文本字段的实现方式主要有两种:css动画和js动画。
在css中使用keyframes定义动画,并通过animation属性将动画应用于文本元素。具体实现代码如下:
@keyframes shake {
0% { transform: translateX(0); }
10% { transform: translateX(-10px); }
20% { transform: translateX(10px); }
30% { transform: translateX(-10px); }
40% { transform: translateX(10px); }
50% { transform: translateX(-10px); }
60% { transform: translateX(10px); }
70% { transform: translateX(-10px); }
80% { transform: translateX(10px); }
90% { transform: translateX(-10px); }
100% { transform: translateX(0); }
}
.shake {
animation: shake .54s cubic-bezier(.36,.07,.19,.97) both;
}
通过js动态的改变文本元素的css属性,从而产生颤动效果。具体实现代码如下:
function shake(element) {
let intervalID = null;
const startX = parseInt(getComputedStyle(element).getPropertyValue('left'));
const startY = parseInt(getComputedStyle(element).getPropertyValue('top'));
intervalID = setInterval(() => {
const randX = Math.round(Math.random() * 10 - 5);
const randY = Math.round(Math.random() * 10 - 5);
element.style.top = `${startY + randY}px`;
element.style.left = `${startX + randX}px`;
setTimeout(() => {
element.style.top = `${startY}px`;
element.style.left = `${startX}px`;
}, 100);
}, 200);
setTimeout(() => {
clearInterval(intervalID);
element.style.top = `${startY}px`;
element.style.left = `${startX}px`;
}, 2000);
}
颤动文本字段可以用于页面中的各种文字效果,例如:
除此之外,它还可以用于增加网站或应用程序的独特性和个性化特征。
通过css动画或js动画实现颤动文本字段是一种增加趣味性和提高用户体验的简单而有效的方法。在UI设计中可以经常使用,但需注意不要过度使用以避免影响页面或应用程序的功能性和用户体验。