【发布时间】:2018-10-22 04:37:40
【问题描述】:
我在CSS 中实现了一个简单的动画一举。此动画在按钮单击时触发。我对结果很满意,但我可以做得更好。我希望突然出现的文本从按钮元素本身开始,而不是一直从页面边缘开始。我尝试更改翻译属性,但没有任何运气。我想知道是否有人可以就如何修复它给我一些建议,如果可以优化代码以使用SASS/SCSS,那就太好了。
编辑:用 SCSS 更新代码:
这是动画的代码:
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="swoop-in">
<div class="swoop-in-content">
PRETTY NEAT TRANSITION BLAH BLAH..
</div>
</div>
<button class="toggle">Toggle</button>
CSS:
swoop-in {
position: absolute;
right: 0px;
top: 140px;
width: 220px;
margin-left: -30px;
&.show .swoop-in-content {
transform: translateX(0);
opacity: 1;
-webkit-transform: translateX(0);
}
.swoop-in-content {
transform: translateX(100%);
-webkit-transform: translateX(100%);
opacity: 0;
transition: all .5s ease;
}
}
.toggle {
position: absolute;
top: 120px;
right: 20px;
background: none;
border: 2px solid;
border-bottom-width: 4px;
margin: 1em;
padding: 1em 2em;
height: auto;
text-align: center;
text-transform: uppercase;
background-color: red;
&:hover {
background-color: #9c89f7;
cursor: pointer;
}
}
jQuery:
$('.toggle').click(function() {
$('.swoop-in').toggleClass('show');
});
这是CODEPEN。 使用 SCSS 更新了 CODEPEN。
谢谢。
【问题讨论】: