庆余年2已经火热开播了,据说反响强烈啊,不知道这一部里面,五竹的镭射眼会不会表现出来,我还挺想看看他的镭射眼的,我看到底有没有杀死剧中的庆帝。
回想第一部,我都快记不清那是几年前开播的了,过会儿我们用js-tool-big-box算一下,庆余年第一步开播到现在有多久了。先来用CSS3实现一下五竹的镭射眼吧。
目录
1 实现思路
2 所需技术素材
3 源代码
4 现在距离庆余年第一部过去多久了?
4.1 安装引入
4.2 计算距离现在的时间
1 实现思路
眼睛的实现,五竹一直是蒙着眼睛的,所以谁也没有见过,据说看见了就得挂掉。所以,我们把他的眼睛想象的奇特一些。
镭射光柱的实现,试想一下,这个镭射,肯定是那种类似地下城与勇士那种光剑的实现效果,那才显得精彩,又或者像幻视那样也行。
镭射发射的动效实现,光有个镭射光剑还不行,还需要有个镭射前进的过程,这样才更有威力,庆帝被击中才更痛苦。
2 所需技术素材
HTML5 + CSS3的预备素材有:
- 用于展示眼睛和镭射的2个DIV;
- 整体背景的色值,background,布局,display,布局的居中效果 justify-content等;
- 眼部的实现呢,为了表现五竹的威猛,我们把眼睛朝下倾斜,transform: rotate,威力值添加 box-shadow;
- 镭射眼的实现,色值线性渐变,linear-gradient,镭射发射动画,animation等。
3 源代码
废话不多说,上源代码,赶紧感受一下镭射的威力吧。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>CSS3模拟五竹的镭射眼</title>
<style>
  * {
  box-sizing: border-box;
}
body {
  align-items: center;
  background: #1a1a1a;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  overflow: hidden;
  width: 100vw;
}
  .eye {
  height: 5%;
  width: 4%;
  position: absolute;
  left: 0;
  border-radius: 25%;
  top: 42%;
  z-index: 10;
  -webkit-transform: rotate(4deg);
          transform: rotate(4deg);
  background: #fff;
  box-shadow: 0 0 40px 5px #9bf, 0 0 2px 2px #b3ccff inset;
}
.ligth {
  content: '';
  position: absolute;
  top: 20%;
  left: 0;
  height: 60%;
  width: 5vw;
  background: linear-gradient(0deg, #9bf, #cfdefc, #9bf), #cdf;
  -webkit-filter: blur(6px);
          filter: blur(6px);
  box-shadow: 0 0 20px 5px #9bf, 0 0 80px 2px #9bf;
  animation: eye 4s infinite;
}
@keyframes eye{
	0% {width: 5vw;}
  100% {width: 100vw;}
}
</style>
</head>
<body>
  <div class="eye">
    <div class="ligth"></div>
  </div>
</body></html>
4 现在距离庆余年第一部过去多久了?
我们知道,庆余年第一步播出时间是2019-11-26,如果口算肯定不能一下特别精准的算出,这就体现出代码的有用之处了,正好js-tool-big-box有这个能力,赶紧来试试。
4.1 安装引入
执行npm命令
npm i js-tool-big-box
项目中引入timeBox对象,这是用于时间日期的对象,代码如下:
import { timeBox } from 'js-tool-big-box';4.2 计算距离现在的时间
使用的是timeBox这个对象,对象下面有getDistanceNow方法用于计算距离现在的时间,看一下代码:
created() {
    const unitObj = {
      beforeUnit: '之前',
      yearUnit: '年 ',
      monthUnit: '月 ',
      dateUnit: ' 日 ',
      hourUnit: '时 ',
      minutesUnit: '分 ',
      secondUnit: '秒 '
    }
    const showData = timeBox.getDistanceNow('2019-11-26 08:00:00', unitObj); // 庆余年第一部播出啦
    console.log('庆余年第一部播出于:', showData.fullDateTime);
  },打印结果: 庆余年第一部播出于: 4年 5月 23日 7时 11分 31秒 之前



















