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中常用的样式【基本文本和字体样式】
Oct 20 HTML / CSS
详解使用HTML5的classList属性操作CSS类
Oct 13 HTML / CSS
详解HTML5 canvas绘图基本使用方法
Jan 29 HTML / CSS
让IE支持HTML5的方法
Dec 11 HTML / CSS
html5-Canvas可以在web中绘制各种图形
Dec 26 HTML / CSS
利用html5的websocket实现websocket聊天室
Dec 12 HTML / CSS
解决Firefox下不支持outerHTML问题代码分享
Jun 04 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
Dec 20 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
Apr 30 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
Aug 17 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
Dec 07 HTML / CSS
简洁自适应404页面HTML好看的404源码
Dec 16 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简单命令代码集锦
2007/09/24 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python版本五子棋的实现代码
2018/12/11 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python的依赖管理的实现
2019/05/14 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
化工工艺专业求职信
2013/09/22 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
Python中的pprint模块
2021/11/27 Python