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自定义滚动条样式写法
Dec 25 HTML / CSS
CSS3 background-image颜色渐变的实现代码
Sep 13 HTML / CSS
一款基于css3的列表toggle特效实例教程
Jan 04 HTML / CSS
CSS3实现时间轴效果
Jul 11 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
Jan 13 HTML / CSS
CSS3实现菜单悬停效果
Nov 17 HTML / CSS
HTML5的结构和语义(4):语义性的内联元素
Oct 17 HTML / CSS
canvas绘制视频封面的方法
Feb 05 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
Sep 10 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
Oct 12 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
JS中from 表单序列化提交的代码
2017/01/20 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
Python入门篇之面向对象
2014/10/20 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python计算日期之间的放假日期
2018/06/05 Python
Python中反射和描述器总结
2018/09/23 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
集体婚礼证婚词
2014/01/13 职场文书
家长评语大全
2014/01/22 职场文书
社会实践感言
2014/01/25 职场文书
京剧自荐信
2014/01/26 职场文书
库房保管员岗位职责
2014/04/07 职场文书
家长对老师的评语
2014/04/18 职场文书
党员证明模板
2015/06/19 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
Python jiaba库的使用详解
2021/11/23 Python