如何用CSS让按钮动画压扁?

发布于 2022-09-12 22:53:48 字数 545 浏览 27 评论 0

就是我要在点击标签页多个按钮的其中一个的关闭的时候让它动画逐渐缩小(宽度变为0, 包括padding, margin)
我养长了好习惯动画尽量用CSS(transition/animation) 而不用JavaScript
这个实现我现在只能用 JavaScript, 因为CSS的逻辑是把width/padding 这些都 animation 为0, 问题是动画前的 width 我无法在CSS得到(JS里用 element.getBoundingClientRect)
max-content 没有动画
说白了就是如何用CSS实现Chrome在关闭某个标签页时那个标签被压减的动画效果? (如果没办法纯CSS那就要用JS搭配了)
https://school.celwk.com/

image

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱已欠费 2022-09-19 22:53:48

你要移除的话,肯定是用js了。对吧。

但是你移除的动画还是css3的,transition就是两个关键帧之间的变化。

el = temp1.children[0];
el.style.width = el.offsetWidth + 'px'
el.style.transition='all 5s'
setTimeout(v=>el.style.width="0px");
setTimeout(v=>{
    el.parentNode.removeChild(el)
}, 5000)

然后我看你用的是flex。你也可以直接改flex

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文