全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2024-06-02_设计问能不能实现这种碎片化的效果

您的位置:首页 >> 新闻 >> 行业资讯

设计问能不能实现这种碎片化的效果 点击关注公众号,“技术干货”及时达!前言某天设计发来一个 网站,问我能不能实现这种类似的效果。 不知你们什么感想,反正我当时第一次看到这个网站的效果时,心里第一反应就是这做个锤子啊。F12 调试让我们打开调试,瞅瞅别人是如何实现。 可以看到在该层级下,页面有很多个 shard-wrap 元素,而每一个元素都是定位覆盖其父元素的。 当我们添加 display: none; 后,可以看到嘴角这里少了一块。 而继续展开其内部的元素就可以看到主要的实现原理了:clip-path: polygon();。 clip-path 和 polygon 更详细的解释可以看 MDN,简单来说就是在一个 div 里面绘制一个多边形。 比如上图的意思就是:选取 div 内部坐标为 (9.38%,59.35%),(13.4%,58.95%),(9.28%,61.08%) 这三个点,并将其连起来,所以就能构成一个三角形了。然后再填充 backgroundColor 该三角形就有对应颜色了。 实现过程调试看完别人的实现后发现,好像也不是很难。但是数据又如何搞来呢? 当然我们可以直接在接口那里找别人的数据,但是我找了一会发现不太好找。 于是想到咱们可是一名前端啊,简单写段 js 扒拉下来不就好了吗,想要更多,就滑一下滚轮,切换下一个碎片图像,再执行一次即可。 functiongetShardDomData(){ constdoms=document.getElementsByClassName('shard') constlist=[] for(leti=0;idoms.length;i++){ conststyle=window.getComputedStyle(doms[i]) letstr=style.clipPath.replace('polygon(','').replace(')','') list.push({ polygon:str, color:style.backgroundColor, }) } returnlist } console.log('res:',getShardDomData()); 碎片化组件简单封装一个碎片化组件,通过 transition 和 delay 增加动画效果以及延迟,即可实现切换时的碎片化动画效果。我这里是用的 tailwindcss 开发的,大家可以换成对应 css 即可。 exporttypeShardComItem={ color:string polygon:string } exporttypeShardComProps={ items:ShardComItem[] } exportdefaultfunctionShardCom({items}:ShardComProps){ return( divclassName="relativew-fullh-fullmin-w-20" {items?.map((item,index)=( divclassName="absolutew-fullh-full"key={`${index}`} div className="w-fullh-fulltransition-allduration-1000ease-in-out" style={{ backgroundColor:item.color, clipPath:`polygon(${item.polygon})`, transitionDelay:`${index*15}ms`, }} /div /div ))} /div ) } 模仿实现的 demo 地址 组件的代码放码上掘金了,感兴趣可以自提。 链接:https://code.juejin.cn/pen/7371379371631706150 自制画板绘画 clip-path当然只扒拉别人的数据,这肯定是不行的,假如设计师想自己设计一份碎片化效果该怎么办呢? 解决方法也很简单:那就自己简单开发一个绘图界面,让设计师自己来拖拽生成想要的效果即可。 线上画板地址 画板的实现就放到 下篇文章 中讲述了。 最后当然最终只是简陋的实现了一部分效果罢了,还是缺少很多动画的,和 原网站 存在不少差距的,大家看个乐就行。 点击关注公众号,“技术干货”及时达! 阅读原文

上一篇:2023-11-02_支持二次编辑、导入虚拟引擎5,Stable Diffusion进化出3D生成功能 下一篇:2020-12-12_七年三次易主,估值仅剩三分之一:韩国现代宣布收购波士顿动力

TAG标签:

15
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价