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制作精致的照片墙特效
Jun 07 HTML / CSS
CSS3中各种颜色属性的使用教程
May 17 HTML / CSS
CSS3按钮鼠标悬浮实现光圈效果源码
Sep 11 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
Mar 09 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
Jun 11 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
May 28 HTML / CSS
html5 乒乓球(碰撞检测)实例二
Jul 25 HTML / CSS
HTML5 embed 标签使用方法介绍
Aug 13 HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
Jul 31 HTML / CSS
MIME类型中application/xml与text/xml的区别介绍
Jan 18 HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
二招解决php乱码问题
2012/03/25 PHP
php文件操作实例代码
2012/05/10 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
react的hooks的用法详解
2020/10/12 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
python使用marshal模块序列化实例
2014/09/25 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python异常处理知识点总结
2019/02/18 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
python操作链表的示例代码
2020/09/27 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
葡萄牙语专业个人求职信
2013/12/10 职场文书
运动会入场解说词
2014/02/07 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
财产公证书样本
2014/04/04 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
长城导游词400字
2015/01/30 职场文书
2015新学期家长寄语
2015/02/26 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
导游词之扬州大明寺
2019/10/09 职场文书