在上一篇文章中《如何使用CSS动态调整旋转半径?》给大家介绍了使用CSS实现动态调整旋转半径的效果,感兴趣的朋友可以学习了解一下~
本文将给大家带来一个特别好玩的实现效果,各位对标题所述的“文本液体填充效果”不知道有没有想法?
首先我们来看一下这个效果是什么样的,如下图所示:
下面我们直接上完整的HTML/css代码:
注:液体填充文本动画可以使用CSS ::before选择器来完成。我们将使用关键帧来设置每一帧动画的高度。
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title></title> <style> body { margin: 0; padding: 0; } h1 { margin: 200px 0; padding: 0; font-size: 80px; position: relative; color: #45b1ff; } h1:before { content: "PHP中文网"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; color:white; overflow: hidden; animation: animate 6s infinite; } @keyframes animate { 0% { height: 25%; } 25% { height: 50%; } 50% { height: 65%; } 75% { height: 40%; } 100% { height: 25%; } } </style> </head> <body> <center> <h1>PHP中文网</h1> </center> </body> </html>
运行这段代码效果就如上图所示。
想要实现这种效果就需要大家熟悉掌握 CSS 中的:before 选择器和@keyframes 规则。
:before 选择器:
:before 选择器在被选元素的内容前面插入内容,想要使用 content 属性来指定要插入的内容。
注:对于 IE8 及更早版本中的 :before,必须声明 <!DOCTYPE>
@keyframes规则:
使用@keyframes规则,你可以创建动画,创建动画是通过逐步改变从一个CSS样式设定到另一个。在动画过程中,您可以更改CSS样式的设定多次。指定的变化时发生时使用%,或关键字"from"和"to",这是和0%到100%相同。0%是开头动画,100%是当动画完成。为了获得最佳的浏览器支持,我们应该始终定义为0%和100%的选择器。
注:使用animation属性来控制动画的外观,还使用选择器绑定动画。
PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教程》《HTML视频教程》!