iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >怎么用CSS和D3实现一组彩灯
  • 438
分享到

怎么用CSS和D3实现一组彩灯

2024-04-02 19:04:59 438人浏览 安东尼
摘要

小编给大家分享一下怎么用CSS和D3实现一组彩灯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   代码解读   定义dom

小编给大家分享一下怎么用CSS和D3实现一组彩灯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  代码解读

  定义dom,容器中包含9个元素,代表9个数字:

  <divclass="pi">

  <span>3</span>

  <span>1</span>

  <span>4</span>

  <span>1</span>

  <span>5</span>

  <span>9</span>

  <span>2</span>

  <span>6</span>

  <span>5</span>

  </div>

  居中显示:

  body{

  margin:0;

  height:100vh;

  display:flex;

  align-items:center;

  justify-content:center;

  background-color:black;

  }

  定义容器尺寸:

  .pi{

  width:30em;

  height:30em;

  font-size:12px;

  }

  把9个数字布局成3*3的网格:

  .pi{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  grid-gap:0.2em;

  }

  .pispan{

  color:white;

  font-size:3em;

  background-color:hsl(0,40%,40%);

  font-family:sans-serif;

  border-radius:50%;

  display:flex;

  align-items:center;

  justify-content:center;

  user-select:none;

  }

  在dom中定义css变量,变量值等于该元素代表的数字:

  <pclass="pi">

  <spanstyle="--d:3">3</span>

  <spanstyle="--d:1">1</span>

  <spanstyle="--d:4">4</span>

  <spanstyle="--d:1">1</span>

  <spanstyle="--d:5">5</span>

  <spanstyle="--d:9">9</span>

  <spanstyle="--d:2">2</span>

  <spanstyle="--d:6">6</span>

  <spanstyle="--d:5">5</span>

  </p>

  为不同的数字设置不同的背景色:

  .pispan{

  --c:hsl(calc(var(--d)*36),40%,40%);

  background-color:var(--c);

  }

  使数字的颜色与背景相同,在鼠标悬停时,高度当前的数字:

  .pispan{

  color:var(--c);

  transition:0.3s;

  }

  .pispan:hover{

  background-color:white;

  color:black;

  box-shadow:001emyellow;

  }

  至此,完成了视觉效果设计,接下来用d3批量处理dom元素和css变量。

  引入d3库:

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

  删除掉html文件中代表数字的dom元素,用d3创建代表数字的dom元素,并设置css变量:

  constPI='314159265';

  d3.select('.pi')

  .selectAll('span')

  .data(PI)

  .enter()

  .append('span')

  .style('--d',(d)=>d)

  .text((d)=>d);

  把PI改为100位:

  constPI='3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067';

  同时把网格改为10*10的布局:

  .pi{

  grid-template-columns:repeat(10,1fr);

  }

  .pispan{

  font-size:1.3em;

  }

  接下来制作循环点亮的效果。

  为各数字元素增加css类,数字0的类名是d0,数字1的类名是d2,以此类推:

  d3.select('.pi')

  .selectAll('span')

  .data(PI)

  .enter()

  .append('span')

  .attr('class',(d)=>`d${d}`)

  .style('--d',(d)=>d)

  .text((d)=>d);

  定义循环变量number,它从1开始逐渐递增:

  letnumber=1;

  定义一个函数,用于点亮特定数字的一组元素:

  functionshow(){

  d3.selectAll(`.pispan.d${number%10}`)

  .classed('show',true);

  d3.selectAll(`.pispan.d${(number-1)%10}`)

  .classed('show',false);

  number++;

  }

  最后,设置一个间隔时间,不断重复调用上面这个函数,让各组数字依次点亮:

  setInterval(show,500);



怎么用CSS和D3实现一组彩灯

以上是“怎么用CSS和D3实现一组彩灯”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: 怎么用CSS和D3实现一组彩灯

本文链接: https://www.lsjlt.com/news/89135.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用CSS和D3实现一组彩灯
    小编给大家分享一下怎么用CSS和D3实现一组彩灯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   代码解读   定义dom...
    99+
    2022-10-19
  • 怎么使用CSS和D3实现一个舞动的画面
    小编给大家分享一下怎么使用CSS和D3实现一个舞动的画面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   代码解读   定...
    99+
    2022-10-19
  • 使用CSS怎么实现一个彩色字体
    这篇文章将为大家详细讲解有关使用CSS怎么实现一个彩色字体,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。初识彩色字体在我们所熟知的传统字体中,字体文件本身仅仅描述了字体的外形特征,这些特征一...
    99+
    2023-06-08
  • CSS和D3怎么实现用文字组成的心形动画效果
    小编给大家分享一下CSS和D3怎么实现用文字组成的心形动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   代码解读 ...
    99+
    2022-10-19
  • 使用css怎么实现一个幻灯片效果
    本篇文章给大家分享的是有关使用css怎么实现一个幻灯片效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现方法:首先定义多张幻灯片元素;然后使用“@keyframes”规则和...
    99+
    2023-06-14
  • 怎么用CSS和D3实现小鱼游动的交互动画
    小编给大家分享一下怎么用CSS和D3实现小鱼游动的交互动画,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   代码解读   定义dom,容器中包含的子元素分别代表鱼的身体、眼睛、背鳍和...
    99+
    2022-10-19
  • 怎么用CSS在线字体和D3实现Google的信息图
    这篇文章给大家分享的是有关怎么用CSS在线字体和D3实现Google的信息图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码解读   定义dom,只有1个空元素,其中...
    99+
    2022-10-19
  • 怎么使用CSS和D3实现黑白交叠的动画效果
    这篇文章将为大家详细讲解有关怎么使用CSS和D3实现黑白交叠的动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   代码解读   定义dom,容器中包含3个子元...
    99+
    2022-10-19
  • 使用canvas怎么实现一个探照灯效果
    这期内容当中小编将会给大家带来有关使用canvas怎么实现一个探照灯效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。</iframe><button id="btn...
    99+
    2023-06-09
  • 使用canvas怎么实现一个流水灯效果
    使用canvas怎么实现一个流水灯效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体内容如下<!DOCTYPE html>  ...
    99+
    2023-06-15
  • 怎么使用纯CSS实现彩虹条纹文字的效果
    小编给大家分享一下怎么使用纯CSS实现彩虹条纹文字的效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   代码解读   定义dom,容器中包含文本,并且包含4个<span>...
    99+
    2022-10-19
  • 怎么在Android中利用TextView实现一个跑马灯效果
    这期内容当中小编将会给大家带来有关怎么在Android中利用TextView实现一个跑马灯效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TextView的跑马灯效果也就是指当你只想让TextView单...
    99+
    2023-05-31
    textview android roi
  • 使用SVG怎么实现一个多彩圆环倒计时效果
    今天就跟大家聊聊有关使用SVG怎么实现一个多彩圆环倒计时效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。css实现代码如下:svg { ...
    99+
    2022-10-19
  • 使用CSS怎么实现一个圆环
    使用CSS怎么实现一个圆环?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 两个标签的嵌套:<div class="element1">...
    99+
    2023-06-08
  • 怎么用纯CSS实现一只纸鹤
    这篇文章主要介绍怎么用纯CSS实现一只纸鹤,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   代码解读   定义dom,容器中包含6个元素,分别代表头、颈、身体侧面、翅、尾、胸:...
    99+
    2022-10-19
  • 使用CSS怎么实现一个三角形和饼图
    使用CSS怎么实现一个三角形和饼图?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 .triangle{width:0;height:0;border-width:...
    99+
    2023-06-08
  • 怎么用CSS实现一个抽奖转盘
    这篇文章主要介绍“怎么用CSS实现一个抽奖转盘”,在日常操作中,相信很多人在怎么用CSS实现一个抽奖转盘问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用CSS实现一个抽奖...
    99+
    2022-10-19
  • 使用css怎么实现一个三角形
    使用css怎么实现一个三角形?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用CSS画三角形第一步首先,先来一个div,然后给这个div加一层border,并且...
    99+
    2023-06-14
  • 使用CSS怎么实现一个导航栏和下拉菜单
    这篇文章将为大家详细讲解有关使用CSS怎么实现一个导航栏和下拉菜单,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、CSS导航栏(1)导航栏的作用熟练使用导航栏,对于网站排版非常重要,使用C...
    99+
    2023-06-08
  • 使用CSS怎么实现一个波浪效果
    本篇文章为大家展示了使用CSS怎么实现一个波浪效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作