「CSS畅想」技术传递乐趣,好友说她想要七龙珠,我帮她召唤了神龙

简介: 前端技术从业者与非技术好友互动,好友说她想要七龙珠,我帮她召唤了神龙。

灵感来源

前面的「解答之书」挽回了我和好友的友谊,好友趁热打铁的提出了新要求,说她想要龙珠,还是七颗,好召唤神龙。

龙珠好像是半透明球形,上面有五角形的星星图案,不同的龙珠上面的星星数量不一样。于是我开始连夜翻网络上的图片,寻找童年记忆中的龙珠。

圆滚滚的球,星星点缀,好像用CSS都不难实现。但是神龙却难住我了,挺复杂的。我也没什么绘画天分,但是我擅长制作彩蛋,这次也给好友一个小惊喜。


在线预览

在线预览平台,可查看完整代码,并体验效果。


功能实现

一颗龙珠

  • 龙珠是半透明的,所以我给他加了一层糖果外壳;
  • 龙珠的内芯上是五角形的星星,不同的龙珠,星星的数量是不同的,最大的数量是7颗星星;
  • 龙珠的顶部,我给它打了一个高光,毕竟是能召唤神龙的珠子。
<divclass="ball ball7"><divclass="ball-light"></div><divclass="ball-star ball7-star1"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star2"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star3"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star4"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star5"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star6"><divclass="ball-star-top"></div></div><divclass="ball-star ball7-star7"><divclass="ball-star-top"></div></div><divclass="ball-core"></div><divclass="ball-inner"></div></div>

七颗龙珠

七颗都集齐的情况下

  • 其中六颗形成了一个圆圈,环绕着中间的龙珠;
  • 每颗龙珠都做了上下移动的效果,表示随时可以召唤神龙。

召唤功能

  • 点击召唤按钮,外层的龙珠开始向中间的龙珠聚合;
  • 龙珠聚合在一起,只展示一颗龙珠,然后呈现慢慢消失的效果;
  • 龙珠消失之后,神龙就出现了。
// 召唤functioncall() {
synthesis.style.display='none';
balls.classList.add('balls-active');
balls.classList.remove('balls-move');
setTimeout(function () {
balls.classList.add('balls-move');
balls.classList.remove('balls-active');
balls.style.display='none';
dragon.style.display='block';
dragonTime.innerHTML=showTime;
  }, 4500);
}

召唤效果

彩蛋时刻

虽然神龙不容易绘制,但是龙蛋不难,我给好友准备了一颗龙蛋,就说神龙还需自己孵化,而且为了避免好友让我帮她孵化龙蛋,我把孵化时间设置成了100年。今天也是被自己智慧折服的一天。

varbeBornTime='2122/07/31 00:00:00';
vardiffTime=newDate(beBornTime).getTime() -newTime;
varshowTime=Math.floor(diffTime/1000/60/60); // 一百年

再说说这颗龙蛋,

  • 这颗龙蛋的灵感来自「非人哉」的官网,大士手中托着一颗可以实现愿望的蛋,神奇又可爱;
  • 龙蛋上的裂缝效果是通过不同的直线旋转一定的角度然后连接在一起形成的。
<divclass="egg-brokenline egg-brokenline1"></div><divclass="egg-brokenline egg-brokenline2"></div><divclass="egg-brokenline egg-brokenline3"></div><divclass="egg-brokenline egg-brokenline4"></div><divclass="egg-brokenline egg-brokenline5"></div><divclass="egg-brokenline egg-brokenline6"></div><divclass="egg-brokenline egg-brokenline7"></div><divclass="egg-brokenline egg-brokenline8"></div>

后续

好友得知我把龙珠画出来了,很是兴奋,开开心心打开我给她的链接,然后3分钟后,向我丢了几个怒火的表情。然后我告诉她,知足者常乐,不要在意细节。她说,我正在打车,待会见面,让你近距离感受一下什么叫知足者常乐。

我现在画龙好像来不及了,要不画个并蒂莲给她消消气?

目录
相关文章
|
8天前
|
存储 前端开发 安全
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
18 2
|
8天前
|
Web App开发 前端开发
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
13 2
|
8天前
|
缓存 前端开发 JavaScript
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
12 2
|
5天前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
12 0
|
1月前
|
前端开发
css图标合并——ClipPath Sprites技术
css图标合并——ClipPath Sprites技术
24 1
|
1月前
|
前端开发 索引 Python
技术心得:xpath、CSS定位方法
技术心得:xpath、CSS定位方法
10 0
|
1月前
|
前端开发 JavaScript UED
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
47 0
|
7天前
|
JSON 前端开发 JavaScript
使用html,css,js 实现一个龙年春节祝福卡片效果
使用html,css,js 实现一个龙年春节祝福卡片效果
28 4
|
1月前
|
前端开发 UED
使用HTML和CSS创建响应式表格
在网页设计中,表格是一种组织和展示数据的有效方式。本文档将指导你如何使用HTML和CSS来创建一个既美观又响应式的表格,以便在不同设备和屏幕尺寸上都能良好显示。我们将涵盖基础的HTML表格结构,样式美化以及如何实现响应式布局,使得表格内容在小屏设备上也能清晰阅读
79 0
|
1天前
|
前端开发
HTML静态网页设计作业、仿写大学官网 (力争使用最少的Html 、CSS代码实现)
这篇文章展示了一个仿大学官网的HTML静态网页设计作业,重点在于使用最少的HTML和CSS代码实现页面效果,并便于后期维护。
HTML静态网页设计作业、仿写大学官网 (力争使用最少的Html 、CSS代码实现)