css3 文字断裂效果


Posted in HTML / CSS onApril 22, 2022

clip-path属性

创建一个只有元素的部分区域,可以显示的剪切区域。区域内的部分显示,区域外的隐藏。

<h1 data-text="Text Crack">
    <span>Text Crack</span>
</h1>

使用元素的伪元素复制两份文本,再使用 clip-path 将元素本身、元素的两个伪元素分为3部分,分别对这3部分进行控制

body, html
{
    display: flex;
    height: 100%;
    width: 100%;
    background-color: #000;
    overflow: hidden;
    font-family: sans-serif;
}
 
h1 {
    position: relative;
    margin: auto;
    font-size: calc(20px + 5vw);
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-shadow: 0 0 10px blue;
    user-select: none;
    white-space: nowrap;
    filter: blur(0.007em);
    animation: shake 2.5s linear forwards;
}
 
h1 span {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
}
 
h1::before,
h1::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
}
 
h1::before {
    animation: crack1 2.5s linear forwards;
    clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
}
 
h1::after {
    animation: crack2 2.5s linear forwards;
    clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
}
 
@keyframes shake {
    5%,
    15%,
    25%,
    35%,
    55%,
    65%,
    75%,
    95% {
        filter: blur(0.018em);
        transform: translateY(0.018em) rotate(0deg);
    }
 
    10%,
    30%,
    40%,
    50%,
    70%,
    80%,
    90% {
        filter: blur(0.01em);
        transform: translateY(-0.018em) rotate(0deg);
    }
 
    20%,
    60% {
        filter: blur(0.03em);
        transform: translate(-0.018em, 0.018em) rotate(0deg);
    }
 
    45%,
    85% {
        filter: blur(0.03em);
        transform: translate(0.018em, -0.018em) rotate(0deg);
    }
 
    100% {
        filter: blur(0.007em);
        transform: translate(0) rotate(-0.5deg);
    }
}
 
@keyframes crack1 {
    0%,
    95% {
        transform: translate(-50%, -50%);
    }
 
    100% {
        transform: translate(-51%, -48%);
    }
}
 
@keyframes crack2 {
    0%,
    95% {
        transform: translate(-50%, -50%);
    }
 
    100% {
        transform: translate(-49%, -53%);
    }
}

因为使用了 clip-path 裁剪后的元素,只有元素的剪切区域才能被显示,所以我们可以分别控制 3 个部分进行动画

最终效果如下

css3 文字断裂效果

到此这篇关于css实现文字断裂效果的示例代码的文章就介绍到这了!

 

Tags in this post...

HTML / CSS 相关文章推荐
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
Nov 13 HTML / CSS
用CSS禁用输入法(CSS3 UI规范)实例解析
Dec 04 HTML / CSS
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
Aug 08 HTML / CSS
一款纯css3实现简单的checkbox复选框和radio单选框
Nov 05 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
css3media响应式布局实例
Jul 08 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
Mar 14 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
Aug 07 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
Aug 16 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
css3 文字断裂效果
Apr 22 HTML / CSS
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
Apr 19 #HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 #HTML / CSS
CSS中float高度塌陷问题的四种解决方案
Apr 18 #HTML / CSS
HTML5基础学习之文本标签控制
Mar 25 #HTML / CSS
CSS实现渐变色边框(Gradient borders)的5种方法
Mar 25 #HTML / CSS
关于CSS自定义属性与前端页面的主题切换问题
flex弹性布局详解
You might like
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP面向对象精要总结
2014/11/07 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
scrapy爬虫实例分享
2017/12/28 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
Python基础之文件读取的讲解
2019/02/16 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python实现文件的分割与合并
2019/08/29 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Python调用JavaScript代码的方法
2020/10/27 Python
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
自我鉴定模板
2013/10/29 职场文书
销售经理工作职责范文
2013/12/03 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
校园演讲稿汇总
2014/05/21 职场文书
计划生育宣传标语
2014/06/21 职场文书
家长会欢迎标语
2014/06/24 职场文书
团组织关系介绍信
2019/06/24 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL