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样式linear-gradient的使用实例
Jan 16 HTML / CSS
收集的7个CSS3代码生成工具
Apr 17 HTML / CSS
CSS Grid布局教程之网格单元格布局
Dec 30 HTML / CSS
CSS3 :default伪类选择器使用简介
Mar 15 HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
Dec 20 HTML / CSS
html5基础教程常用技巧整理
Aug 20 HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 HTML / CSS
HTML5所有标签汇总及标签意义解释
Mar 12 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
Feb 19 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
Jan 29 HTML / CSS
bootstrapv4轮播图去除两侧阴影及线框的方法
Feb 15 HTML / CSS
HTML5之高度塌陷问题的解决
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
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
yii用户注册表单验证实例
2015/12/26 PHP
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
jQuery Position方法使用和兼容性
2017/08/23 jQuery
快速搭建React的环境步骤详解
2017/11/06 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
Python 实现链表实例代码
2017/04/07 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
Python中单例模式总结
2018/02/20 Python
Python3 replace()函数使用方法
2018/03/19 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Python字符串的一些操作方法总结
2019/06/10 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
养殖项目策划书范文
2014/01/13 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
超越自我演讲稿
2014/05/21 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
李强为自己工作观后感
2015/06/11 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
Oracle笔记
2021/04/05 Oracle