是否有人知道任何css或javascript会产生逐渐删除网页上文字的效果,就像黑板擦除黑板上的文字一样?
感谢。
答案 0 :(得分:9)
我做了一个使用渐变,盒子阴影和关键帧动画的小演示。代码如下,您可以在http://dabblet.com/gist/2722829
中查看该代码HTML:
<div class="parent">
<p>Biscuit danish icing halvah jelly beans jelly beans powder liquorice sugar plum.
Pie marzipan toffee donut chocolate dragée topping caramels.
Applicake wafer donut soufflé. Icing danish dessert icing carrot cake soufflé apple pie.
</p>
<div class="eraser"></div>
</div>
CSS:
.parent {
width: 400px;
margin: 125px auto;
padding: 8px;
overflow: hidden;
position: relative;
}
.eraser {
left:-30%;
top: 8px;
height: 100%;
width: 130%;
border-radius: 135px/65px;
box-shadow: 0 0 100px 50px rgba(255, 255, 255, .8);
display: block;
position: absolute;
z-index: 2;
background: radial-gradient(#fff, rgba(255, 255, 255, .95));
animation: erase 4s ease-out;
}
@keyframes erase {
from {left: -170%;}
to {left: -30%;}
}
答案 1 :(得分:3)
您可以使用canvas
实现此效果。参见:
此处可以看到对文本的模拟退格效果:http://demos.frnzzz.com/typing/
页面上任何DOM元素的自由格式擦除都很困难,因为您无法删除元素的一部分,也不容易将颜色仅应用于元素的一部分。
您可以通过将元素移动到可见区域之外或剪切它来模拟元素的部分移除。这可能一次仅适用于一个轴。
最后,可能会有CSS transforms和/或CSS transitions的某种组合产生您正在寻求的效果,但目前浏览器支持比canvas
更好,而不是转换/转换,所以使用canvas
可能会更好。