问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样在CSS代码里加入动态文字效果

发布网友 发布时间:2022-04-23 16:01

我来回答

3个回答

懂视网 时间:2022-04-22 04:25

本篇文章给大家带来的内容是关于如何使用CSS和D3实现用文字组成的心形动画效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

2843848771-5b76a23457efe_articlex.gif

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器中包含 3 个子元素,每个子元素中有一个单词:

<div class="love">
 <span>aaa</span>
 <span>bbb</span>
 <span>ccc</span>
</div>

居中显示:

body {
 margin: 0;
 height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: black;
}

定义容器尺寸:

.love {
 width: 450px;
 height: 450px;
}

设置文本样式:

.love {
 position: relative;
}

.love span {
 position: absolute;
 left: 0;
 color: goldenrod;
 font-size: 20px;
 font-family: sans-serif;
 text-shadow: 0 0 1em white;
}

定义文本左右往复移动的动画:

.love span {
 animation: x-move 10s ease-in-out infinite alternate;
}

@keyframes x-move {
 to {
 left: 450px;
 }
}

定义子元素的下标变量,设置动画延时,使各单词依次入场:

.love {
 --particles: 3;
}

.love span {
 animation-delay: calc(20s / var(--particles) * var(--n) * -1);
}

.love span:nth-child(1) {
 --n: 1;
}

.love span:nth-child(2) {
 --n: 2;
}

.love span:nth-child(3) {
 --n: 3;
}

增加文本沿心形运动的动画效果:

.love span {
 animation: 
 x-move 10s ease-in-out infinite alternate,
 y-move 20s linear infinite;
}

@keyframes y-move {
 0% { transform: translateY(180px); }
 10% { transform: translateY(45px); }
 15% { transform: translateY(5px); }
 18% { transform: translateY(0); }
 20% { transform: translateY(5px); }
 22% { transform: translateY(35px); }
 24% { transform: translateY(65px); }
 25% { transform: translateY(110px); }
 26% { transform: translateY(65px); }
 28% { transform: translateY(35px); }
 30% { transform: translateY(5px); }
 32% { transform: translateY(0); }
 35% { transform: translateY(5px); }
 40% { transform: translateY(45px); }
 50% { transform: translateY(180px); }
 71% { transform: translateY(430px); }
 72.5% { transform: translateY(440px); }
 75% { transform: translateY(450px); }
 77.5% { transform: translateY(440px); }
 79% { transform: translateY(430px); }
 100% { transform: translateY(180px); }
}

接下来用 d3 批量处理 dom 元素和 css 变量。
引入 d3 库:

<script src="https://d3js.org/d3.v5.min.js"></script>

声明一个数组,包含若干单词:

const words = ['aaa', 'bbb', 'ccc'];

用 d3 创建 dom 元素:

d3.select('.love')
 .selectAll('span')
 .data(words)
 .enter()
 .append('span')
 .text((d) => d);

用 d3 为 css 变量赋值:

d3.select('.love')
 .style('--particles', words.length)
 .selectAll('span')
 .data(words)
 .enter()
 .append('span')
 .style('--n', (d, i) => i + 1)
 .text((d) => d);

删除 html 文件中相关的 dom 元素和 css 文件中相关的 css 变量。

把数组元素改为“爱”在各种语言的单词:

const words = [
 '愛', 'Love', 'Amour', 'Liebe', 'Amore',
 'Amor', 'Любовь', '????', '?????', 'Cinta',
 'Αγ?πη', '??', 'Liefde', 'Dashuri', 'Каханне',
 'Ljubav', 'Láska', 'Armastus', 'Mahal', '????', 
 'Szerelem', 'Grá', 'Mīlestība', 'Meil?', 'Любов', 
 '?убовта', 'Cinta', '???', 'Dragoste', 'Láska', 
 'Renmen', '???', 'muna?a', 'Sevgi', '?убав', 
 'karout', 'amà', 'am?r', 'k?rleiki', 'mborayhu', 
 'Upendo', 'sòòyayyàà', 'ljubav', '???', 'с?ю', 
 'с?й??', 'tia', 'aroha', 'KHAIR', '?????', 
 'kj?rlighet', 'munay', 'jecel', 'K?rlek', 'soymek', 
 'Mahal', 'ярату', '????', 'sopp', 'uthando', 
 '???????', 'A?k', 'Tình yêu', '????'];

最后,为第 1 个单词设置特殊的文字样式:

.love span:first-child {
 color: orangered;
 font-size: 3em;
 text-shadow: 
 0 0 0.1em black,
 0 0 1em white;
 z-index: 1;
}

热心网友 时间:2022-04-22 01:33

<marquee airection="left" loop="-1" scrollamount="2" onmouseover=stop() onmouseout=start()>在此加入文字</marquee>

热心网友 时间:2022-04-22 02:51

不会用CSS用DW就不行了!!
纯CSS动态渐变文本特效

实现原理要实现这种动态效果,关键在于CSS代码的巧妙运用。主要涉及到元素的动画轨迹、速度差异和混合模式(mix-blend-mode)的控制。这个属性允许不同颜色的元素与文本结合,产生视觉冲击力。代码实现HTML部分主要包含一个标题和几个带有.aurora__item类的动画容器。CSS中,首先定义了变量,以便调整颜色、模糊...

如何用css制作美观的标题文字效果?

首先,我们从创建一个动态背景效果开始。通过在CSS中设置背景颜色、背景大小和位置,我们能够创建出一种独特的纹理效果。结合使用径向渐变(radial-gradient)和背景尺寸(background-size),我们可以构建出一个基础的背景层,为后续效果打下基础。接下来,我们引入旋转动画来增强背景的动态感。通过设置一个名...

纯CSS实现的文字特效,瞬间让创意酷炫起来!

本文将带你领略10个纯CSS实现的酷炫文字特效:- 渐变文字:通过background-clip:text和color,实现文字内部的色彩过渡。- 彩虹文字(跑马灯):利用background-clip:text和linear-gradient,动态生成彩虹效果,还需配合-webkit-animation属性。- 发光文字:text-shadow属性让文字如同闪耀,通过阴影效果增添视觉...

纯CSS实现炫酷背景霓虹灯文字效果

为背景添加霓虹灯文字效果,利用text-shadow属性,结合自定义变量--color1至--color4创建动态阴影,进一步添加动画效果模拟灯光闪烁。实现悬停效果,使用.gd:hover选择器,当鼠标悬停在元素上时,改变边框样式,增加边框效果,提升用户交互体验。通过CSS代码的解析,我们可以看到,CSS不仅用于定义网页的基本样式...

使用CSS文字阴影创建有趣的效果

让我们来看看如何使用CSS的text-shadow属性来创建真正的3D文本。通过仅添加一个阴影,可以向右推6px,向底部推6px,这为文本添加了一种浮出效果。为了创造深度,可以在同一元素中添加更多的text-shadow实例,通过逗号分隔它们来连接文本和阴影。使用text-shadow属性,可以从6px 6px开始,并以0.25px的...

如何用css实现网页的动态效果

css是层叠样式表,是不能够实现动态效果的。但是可以让某个画面动,比如:一个文字点击的时候,变大的css代码为:a{font-size:12px;} /*这里文字默认大小是12像素*/a:hover{font-size:14px;} /*这里鼠标经过大小是14像素*/上边这个简单的代码就实现鼠标经过a的时候,文字变大,离开又恢复...

CSS 动画 - 如何让元素动起来?

大部分页面都使用静态元素来展示动态内容,例如文字、图片,但如何让这些元素动起来呢?CSS 动画、SVG 动画、Canvas 动画、Lottie 等都是实现动画效果的方法。本文将重点介绍如何使用 CSS 动画来让页面元素动起来。若只是需要一些简单的动画或过渡效果,可以使用 transition 属性。transition 属性是 transition-...

css可以让网页文字闪烁吗?

这句css代码就是文字闪烁text-decoration:blink;不过很可惜,IE、Chrome 或 Safari 不支持 "blink" 属性值,所以只有在 Firefox 和 Opera 下支持这 CSS 实现在闪动效果。加上js代码就可以了html代码闪烁文字JavaScript代码:function blinklink() { if (!document.getElementById('blink').style.color) { document.g...

有哪些办法使用css样式来实现动画效果?

在CSS中实现帧动画,首先需要定义动画效果,随后通过animation属性应用到特定的选择器。为了使帧动画平滑,开发者还需要指定动画的持续时间、循环次数以及关键帧之间的插值方法。通过这种方式,帧动画能够实现从起始状态到结束状态的精确控制,创造出丰富且细腻的视觉效果。现代CSS引入了更多高级动画特性,如滚动...

突破限制,CSS font-variation 可变字体的魅力

理解font-variation-settings属性,它是控制可变字体多个属性的关键。注册轴如字体粗细、宽度等,允许用户通过CSS直接操作。此外,font-variation-settings还支持自定义轴设定,允许实现更个性化的字体变化。实现题图所示效果,通过简单的CSS动画与font-variation-settings结合,赋予文字动态变化,同时利用SCSS简化代...

网页设计动态效果代码 html动态网页效果代码 怎么在html代码区加入颜色带 加入qq群代码 网站统计代码怎么添加 代码动图 怎么看代码 网页代码 网站统计代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海大名城映_有多少户? 英特尔处理器漏洞有哪些害? 英特尔漏洞都会影响哪些CPU?下一代还会影响吗? cpu使用率100%是怎么回事呀? 生姜红茶减肥法骗局 鲁东大学大一新生电话卡是用的学校发的联通卡吗? 鲁东大学用移动的多还是用联通的多?求师哥师姐们解答 ...牙齿一碰到溃疡就疼,治疗口腔溃疡的偏方有哪些呢? 我想找一个飞车情侣名字,我有车队,车队名字是丿茗门丨灬 梦幻悟空传变态版安卓APK css字体设置为rem后,手机横竖屏切换的时候,字体变化会有个动画效果怎么... css3动画效果,如何设置呢? WIN7音量图标无法显示 win7如何在声音显示中把显卡优化选项去除 windows7话筒显示没有声音怎么办 win7系统无声音显示“未插入扬声器或耳机” 怎么解决 win7怎样设置声音效果? - 信息提示 windows7旗舰版电脑的声音图标不在桌面上显示了怎么办? WIN7无声音显示“未插入扬声器或耳机” 怎么解决 带‘普’字的成语 图中控制变压器的画法哪种是正确的? 怎样判定控制变压器的输入端是220伏的、或380伏的? 控制变压器输出的电压怎么分辨为220v 110v 控制变压器(BK,JBK)等满足的 国际标准 隔离变压器和控制变压器有什么区别? 控制变压器如何正确接线? 控制变压器与普通变压器的区别? 控制变压器和电源变压器有什么区别? 电路图中的TC表示什么意思? 下图是某高级中学文科班班徽,请写出该标志的构图要素及其寓意 在css中如何让标题呈动态 谁给我设计班徽的帮助 css也是做动画的吗? 班徽必须是圆的嘛 CSS2文字淡入淡出滑动的动画效果如何实现? 班徽设计,急求 如何通过css样式来实现网站logo发光动画效果 请ps大神帮我把下面的图加一个边框和文字,就好像很多学校的那种圆形校徽的边框一样 css3过渡和css3动画它们都能实现动画效果,只是写的方式不一样,是吗... css3中的动画功能transition和animation两种的区别是什么? 美图秀秀在手机里找不到圆形边框怎么办?什么手机应用有圆形边框? 白底篮圈的班徽怎么用ps做 CSS3动画过程中文字模糊如何解决 photoshop cs6怎么加花纹边框 “中国”在古代叫什么? 中国古代有多强大? 中国古代叫什么? 中国历史上都有哪些代称? 银行信贷是什么贷款