博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS题目系列(3)- 实现文字切割效果
阅读量:6985 次
发布时间:2019-06-27

本文共 1070 字,大约阅读时间需要 3 分钟。

描述

有一天逛 的时候,看到这么一个效果:将文字上下切开两半。

点进去看了一下代码,发现原理很简单,大概就是通过伪类使用attr()函数获取内容,然后进行定位。

你可以点下方链接查看效果:

正文

先让两个伪元素获取到属性的值,并且将位置调好。

I Love CSS

复制代码

样式部分

h1 {    position: relative;    color: transparent;}h1::before,h1::after {    /* 通过 attr 获取属性的值 */    content: attr(data-content);    position: absolute;    left: 0;    width: 100%;    overflow: hidden;    color: #CC3333;}/* 切割部分 */h1::before {    /* 上对齐 */    top: 0;    height: 50%;}/* 剩余部分 */h1::after {    /* 下对齐 */    bottom: 0;    height: 50%;}复制代码

这时候的效果是这样的,所以我们要把剩余部分的文字进行底部对齐。

这里使用flex布局对齐,剩余部分改为:

/* 剩余部分 */h1::after{    bottom: 0;    height: 50%;    display: flex;    align-items: flex-end;}复制代码

这时候:

到现在,就已经做好,只要在切割部分上应用动画,即可实现炫酷的切割效果:

/* 切割部分 */h1::before{    animation: action 5s 1s ease alternate infinite;}@keyframes action{    0%{        transform: translateX(0px);    }    30%{        transform: translateX(-5vw);    }    60%{        transform: translateX(0px);    }    100%{        transform: translateX(5vw);    }}复制代码

完整代码:

后记

不得不说那些大神们的脑洞真是大,如果没见过这个效果之前,我是无论如何都想不到可以如此简单的实现这么炫酷的切割效果。

注:此文为原创文章,如需转载,请注明出处。

你可能感兴趣的文章
JavaScript专题之类型判断(上)
查看>>
[译] ConstraintLayout深入系列之代替常见布局
查看>>
js 5种迭代,遍历方法方法 高程5.2.8
查看>>
动手写个数字输入框2:起手式——拦截非法字符
查看>>
JSONModel使用「数据转模型」
查看>>
有序数组的一种实现
查看>>
Decorator Pattern With Laravel 装饰者模式
查看>>
Android屏幕适配(基于实战考虑“Android图片应该用多大,放在什么密度下面,能否用一套图适配”的问题)...
查看>>
从 Google 的一道面试题说起·
查看>>
大厂前端高频面试问题与答案精选
查看>>
IBM 340亿美元收购红帽,开源史上最大交易!
查看>>
小米大数据:借助Apache Kylin打造高效、易用的一站式OLAP解决方案
查看>>
在市场营销中使用敏捷方法:过程、团队与成功案例
查看>>
.NET Framework 4.8预览
查看>>
了解etcd
查看>>
《软件工程师职业生涯完全指南》作者访谈
查看>>
6天面试、斩获6家硅谷巨头Offer,我是如何做到的?
查看>>
Python开发者年度调查报告出炉!Python3采用率超84%
查看>>
Spark on Angel:Spark机器学习的核心加速器
查看>>
Sharding-Sphere成长记——写在分布式数据库代理端里程碑版本3.0.0发布之际
查看>>