@keyframes dongh2 { 0% { } 100% { color: #fff; } } 给这个动画 增加上非常炫酷的文字交互效果
时间: 2023-11-01 14:13:20 浏览: 66
可以通过组合使用CSS动画和JavaScript事件来实现炫酷的文字交互效果。以下是一个基本的示例:
```html
<div class="text" onmouseover="startAnimation()" onmouseout="stopAnimation()">Hello World</div>
```
```css
.text {
font-size: 48px;
color: #000;
position: relative;
z-index: 1;
}
.text:before {
content: "Hello World";
position: absolute;
top: 0;
left: 0;
color: #fff;
z-index: -1;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
@keyframes dongh2 {
0% {
transform: rotateX(0deg);
}
100% {
transform: rotateX(90deg);
}
}
```
在上面的代码中,我们通过添加一个伪元素 `.text:before` 来创建一个覆盖原始文本的白色文本。我们还设置了 `.text` 的 `z-index` 属性为 `1`,使其在伪元素之上,然后设置伪元素的 `z-index` 属性为 `-1`,使其在文本下方。
然后,我们定义了一个名为 `dongh2` 的关键帧动画,用于旋转伪元素。我们还添加了 `transition` 属性来实现渐变的透明度变化。
接下来,我们可以使用JavaScript来控制动画的开始和停止。在 `startAnimation()` 函数中,我们将 `.text:before` 的 `opacity` 属性设置为 `1`,触发文本的渐变显示效果,并在 `.text` 元素上添加 `animation` 属性来开始旋转动画。在 `stopAnimation()` 函数中,我们将 `.text:before` 的 `opacity` 属性设置为 `0`,触发文本的渐变隐藏效果,并将 `.text` 元素上的 `animation` 属性移除,停止旋转动画。
以下是JavaScript代码:
```javascript
function startAnimation() {
document.querySelector(".text:before").style.opacity = "1";
document.querySelector(".text").style.animation = "dongh2 2s linear infinite";
}
function stopAnimation() {
document.querySelector(".text:before").style.opacity = "0";
document.querySelector(".text").style.animation = "";
}
```
通过这种方式,我们可以创建一个带有炫酷文字交互效果的动画。你可以根据需要调整动画的样式和JavaScript代码。
阅读全文