首页 > 其他分享 >记录-css实现交融文字效果

记录-css实现交融文字效果

时间:2023-04-11 18:33:58浏览次数:41  
标签:交融 text spacing keyframes filter 文字效果 letter blur css

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

CSS是有魔法的,我们今天来实现一个CSS的动画效果,只需要几行代码就可以搞定。

第一步、我们要将一行文字从中间展开

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            background: #000;
        }
        .container{
            margin-top: 50px;
            text-align: center;
            background-color: #000;
            filter: contrast(30);
        }
        .text{
            font-size: 100px;
            color: #fff;
            /* 第一步、如何从中间展开 */
            letter-spacing: 0px;
        }
    </style>
</head>
<body>
    <div class="container">
        <span class="text">hello world</span>
    </div>
</body>
</html>

以上是基础代码结构,通过调整letter-spacing的值,我们可以控制他的展开与收起。值越小为负数时文字就可以挤在一起,越大文字间距就越大。

默认值为0时正常显示的效果

 

小于正常值的效果

我们可以为节点加上keyframes动画,此时letter-spacing属性转由keyframes控制可以达到自动展开文字的效果

.text{
  font-size: 100px;
  color: #fff;
  animation: showup 3s forwards;
}
@keyframes showup {
  from{
    letter-spacing: -50px;
  }
  to{
    letter-spacing: 10px;
  }
}

第二步、我们需要设置文字融合在一起的效果

先给文本节点设置filter blur文字变得模糊

学过ps的就会知道,当给图片加上较高的对比度的时候,就会导致黑的部分越黑,白的部分越白。我们给父节点加上filter,设置contrast(30),可以获得如下效果

这样就有了一些圆润的边缘,最后我们将对应的css属性交给keyframes控制,就可以达到最终的效果

@keyframes showup {
    from{
        letter-spacing: -50px;
				/* 新增 */
        filter: blur(10px);
    }
    to{
        letter-spacing: 10px;
        /* 新增 */
        filter: blur(2px);
    }
}

完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            background: #000;
        }
        .container{
            margin-top: 50px;
            text-align: center;
            background-color: #000;
            filter: contrast(30);
        }
        .text{
            font-size: 100px;
            color: #fff;
            /* 第一步、如何从中间展开 */
            /* letter-spacing: 0px; */
            animation: showup 3s forwards;
        }
        @keyframes showup {
            from{
                letter-spacing: -50px;
                filter: blur(10px);
            }
            to{
                letter-spacing: 10px;
                filter: blur(2px);
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <span class="text">hello world</span>
    </div>
</body>
</html>

本文转载于:

https://juejin.cn/post/7220696133730828344

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

标签:交融,text,spacing,keyframes,filter,文字效果,letter,blur,css
From: https://www.cnblogs.com/smileZAZ/p/17307253.html

相关文章

  • css steps实现文本一个字一个字显示
    大致思路:使用相对定位的div覆盖文本内容,并用animation控制宽度,位置。换行步骤在外层div上控制高度即可。css的steps与animation一起使用可以控制文字单个显示,类似于文本输入,不过显示频率是线性。添加一些css变量控制步骤宽度、高度和时间等,便于vue中也通过组件的props......
  • 如何隐藏一个元素?&&css中出现了两个一样的类定义,如何避免冲突?
    1.如何隐藏一个元素?1.使用display属性:设置元素的display属性为none,这样元素在页面上不会占用任何空间,同时也不会对其他元素造成影响2.使用visibility属性:设置元素的visbility属性为hidden,这样元素在页面上不可见,但仍然占用空间3.使用opacity属性:设置元素的opacity属性为0,这样元......
  • css变量声明使用
    今天跟朋友聊天被推荐的一个css变量使用,感觉挺方便的,适用于各种页面,类似于scssless~好处是减少样式代码的重复性,增加样式代码的扩展性和灵活性简单使用:<style>:root{--color:#000;--width:200px;}body{color:var(--color);width:var(--wi......
  • CSS 实现垂直居中的5种方法
    方法1:使用绝对定位和负外边距对块级元素进行垂直居中      优点:兼容不错。缺点:必须提前知道被居中块级元素的尺寸.father{width:300px;height:300px;background-color:red;position:relative;......
  • 【学习笔记】HTML+CSS
    HTMLHTML教程简介编辑器基础元素属性标题段落文本格式化链接头部CSS图像表格列表区块布局表单和输入1、意义:用于收集用户的输入信息表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到Web服务器一个文本字段的默认宽度是20个字符2、form......
  • Element Plus错误警告 | Popper: Detected CSS transitions on at least one of the f
    这个错误的解决方案如下:1.禁用"computeStyles"修饰符的adaptive选项:这将允许平滑过渡,但可能会降低性能。禁用"computeStyles"修饰符的adaptive选项,可以在创建Popper实例时指定modifiers参数,并将computeStyles的adaptive属性设置为false。示例如下:import{c......
  • CSS 属性 选择器
     具有特定属性的HTML元素样式具有特定属性的HTML元素样式不仅仅是class和id。注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。属性选择器下面的例子是把包含标题(title)的所有元素变为蓝色:实例[title]{color:blue;}https://www.lekaowang......
  • css强制换行 css强制不换行的css方法
    以前总结过Div的换行和不换行的css写法。但对于表格单元格只知道一个属性nowrap可以使其不换行。近日有此需要,但发现加上nowrap在某些情况下还是会换行!无奈,没有一个强制不换行的方法吗?baidu了一下,令俺非常欣慰,还真的找到了办法,问题解决了。用CSS实现表格单元格数据自动换行或不......
  • css 清楚浮动的4种办法
    1、浮动:浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。         由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样2、我们使用position:fixed,absolute和float都会造成浮动效果。3、clear属......
  • css 实现单行、多行溢出 省略号显示
    1、单行溢出显示省略号:{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}2、多行溢出省略号:①、(缺点:此方法因为使用了webkit属性,故只能chrome等浏览器有效){-webkit-line-clamp:2;/*autoprefixer:off*/-webkit-box-orient:vertical;//防......