【发布时间】:2018-05-03 12:21:02
【问题描述】:
我的 CSS 文件有点问题。我尝试制作一个缩放到无限的图标(有效),当我点击图标时,动画将父级旋转到 90 度,图标旋转到 45 度(有效)。但是,如果我结合这两种行为,图标的旋转就会中断。我想将图标旋转45度,并保持动画。
演示示例:https://codepen.io/KevinPy/pen/ooEbKY?editors=1100
在我的演示中,第一次出现旋转到 45 度。第二次添加动画(通过类),但旋转中断。
感谢您的回答。
HTML
<div id="first"><span>+</span></div>
<div id="second"><span class="anim">+</span></div>
SCSS
div {
margin: 25px;
display: inline-block;
position: relative;
background-color: blue;
width: 80px;
height: 80px;
&::before {
position: absolute;
top: 20px;
left: -20px;
content: '';
width: 0;
height: 0;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-right: 20px solid blue;
}
&.open {
transition: .2s transform linear;
transform: rotate(90deg);
span {
transition: .2s transform linear;
transform: rotate(-45deg);
}
}
&.close {
transition: .2s transform linear;
transform: rotate(0deg);
span {
transition: .2s transform linear;
transform: rotate(0deg);
}
}
}
span {
position: absolute;
top: 5px;
bottom: 0;
left: 0;
right: 0;
text-align: center;
color: white;
font-size: 60px;
}
.anim {
animation: keyAnim 3.4s linear infinite;
transform-origin: 50%;
}
@keyframes keyAnim {
0%, 100% {
transform: scale(1);
}
35%, 65% {
transform: scale(1.2);
}
50% {
transform: scale(1.5);
}
}
【问题讨论】:
标签: css animation sass transform