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 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 HTML / CSS
css3让div随鼠标移动而抖动起来
Feb 10 HTML / CSS
一款纯css3实现的响应式导航
Oct 31 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
html5拍照功能实现代码(htm5上传文件)
Dec 11 HTML / CSS
整理HTML5移动端开发的常用触摸事件
Apr 15 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
Jun 20 HTML / CSS
HTML5如何使用SVG的方法示例
Jan 11 HTML / CSS
Html5获取高德地图定位天气的方法
Dec 26 HTML / CSS
H5离线存储Manifest原理及使用
Apr 28 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中用正则表达式清除字符串的空白
2011/01/17 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
javascript事件模型代码
2007/07/01 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
Python获取央视节目单的实现代码
2015/07/25 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
详解Python if-elif-else知识点
2018/06/11 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
Django如何实现防止XSS攻击
2020/10/13 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
大学生全国两会报告感想
2014/03/17 职场文书
购房意向书
2014/04/01 职场文书
法人任命书范本
2014/06/04 职场文书
学校花圃的标语
2014/06/18 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
沈阳故宫导游词
2015/01/31 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL