首页 >web前端 >html教程 >HTML/css实现好玩的文本液体填充效果

HTML/css实现好玩的文本液体填充效果

藏色散人
藏色散人原创
2021-08-30 14:26:192401浏览

在上一篇文章中《如何使用CSS动态调整旋转半径?》给大家介绍了使用CSS实现动态调整旋转半径的效果,感兴趣的朋友可以学习了解一下~

本文将给大家带来一个特别好玩的实现效果,各位对标题所述的“文本液体填充效果”不知道有没有想法?

首先我们来看一下这个效果是什么样的,如下图所示:

GIF 2021-8-30 星期一 下午 2-11-27.gif

下面我们直接上完整的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,必须声明 1a309583e26acea4f04ca31122d8c535

@keyframes规则:

使用@keyframes规则,你可以创建动画,创建动画是通过逐步改变从一个CSS样式设定到另一个。在动画过程中,您可以更改CSS样式的设定多次。指定的变化时发生时使用%,或关键字"from"和"to",这是和0%到100%相同。0%是开头动画,100%是当动画完成。为了获得最佳的浏览器支持,我们应该始终定义为0%和100%的选择器。

注:使用animation属性来控制动画的外观,还使用选择器绑定动画。

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教程》《HTML视频教程》!

以上是HTML/css实现好玩的文本液体填充效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn