「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分钟后,向我丢了几个怒火的表情。然后我告诉她,知足者常乐,不要在意细节。她说,我正在打车,待会见面,让你近距离感受一下什么叫知足者常乐。

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

目录
相关文章
|
28天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
36 6
|
1月前
|
移动开发 前端开发 JavaScript
除了 CSS3,还有哪些技术可以实现动画效果?
除了 CSS3,还有哪些技术可以实现动画效果?
58 5
|
2月前
|
前端开发 开发者 UED
CSS不同技术的探讨
【10月更文挑战第11天】 CSS不同技术的探讨
|
2月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术
|
2月前
|
前端开发 开发者 UED
CSS技术的演变与应用
【10月更文挑战第11天】CSS技术的演变与应用
|
4月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
65 3
|
4月前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
181 0
|
4月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
|
28天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
56 7

热门文章

最新文章