【发布时间】:2016-05-02 17:46:47
【问题描述】:
我正在制作一个自定义的汉堡菜单动画,当点击汉堡菜单时,汉堡菜单会变成两种形状:一个朝右的三角形和一个位于右侧的人字形。
不过,我在平滑动画方面仍有一些问题;我正在使用边框颜色来完成我想要的,但是双击时(='反向'动画)不如开始动画那么流畅。
我正在开发 Codepen,因此您可以在此处查看代码:Codepen example
HTML 非常基础:
<div class="button">
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
</div>
(S)CSS:
body {
background-color: #252626;
}
div {
width: 200px;
margin: 100px;
div {
height: 50px;
margin: 30px 0;
position: relative;
top: 0;
left: 0;
bottom: 0;
transition: all .3s ease-in-out;
}
}
.one, .three {
background-color: #DFBA68;
height: 12px;
}
.one-clicked, .three-clicked {
position: relative;
left: 50px;
border-radius: 12px;
}
.one-clicked {
transform: rotate(33deg) scale(.93, 1);
top: 90px;
}
.two {
width: 0;
height: 0;
border-top: 25px solid #F7F4EA;
border-left: 200px solid #F7F4EA;
border-bottom: 25px solid #F7F4EA;
transition: all .3s ease-in-out, border-color .1ms ease-in-out .2s;
}
.two-clicked{
width: 0;
height: 0;
border-top: 100px solid transparent;
border-left: 150px solid #F7F4EA;
border-bottom: 100px solid transparent;
transition: all .3s ease-in-out, border-color .1ms ease-in-out;
}
.three-clicked{
transform: rotate(-33deg) scale(.93, 1);
top: -87px;
}
这里的任何人都可以帮我平滑这个完整的动画吗?
【问题讨论】:
-
this 你可以吗
-
我认为这与我的很相似;三角形和正方形之间的最终过渡让我感到困扰。
标签: css svg css-transitions css-animations