我正在制作一个小型菜单动画,虽然没有什么创新性,但只是作为一个实验。这是我目前拥有的内容:
HTML
SCSS:层叠样式表(Sass的一种实现方式)。
JavaScript
这是它的一支笔的演示: https://codepen.io/mikehdesign/pen/eWJKKN 目前,当菜单处于活动状态时,顶部和底部的
Mike
HTML
<div class="menu">
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
</div>
SCSS:层叠样式表(Sass的一种实现方式)。
div.menu {
width: 24px;
height: 24px;
position: relative;
margin: 48px;
cursor: pointer;
div.bar {
display: block;
width: 100%;
height: 2px;
background-color: #444;
position: absolute;
transition: all 0.25s ease-in-out;
&:nth-child(1) {
}
&:nth-child(2) {
top: 11px;
}
&:nth-child(3) {
top: 11px;
}
&:nth-child(4) {
bottom: 0;
}
}
&.active {
div.bar {
&:nth-child(1) {
width: 0;
}
&:nth-child(2) {
transform: rotate(-45deg);
}
&:nth-child(3) {
transform: rotate(45deg);
}
&:nth-child(4) {
width: 0;
}
}
}
}
JavaScript
var menu = document.querySelector('.menu');
menu.addEventListener('click', function(){
menu.classList.toggle('active');
});
这是它的一支笔的演示: https://codepen.io/mikehdesign/pen/eWJKKN 目前,当菜单处于活动状态时,顶部和底部的
div.bar
会将宽度减小到左侧为0。我想调整它们的宽度减小到中心。我尝试过调整它们的边距,但没有成功,如果有人能够提供一些帮助或者需要其他方法,那就太好了。Mike
transform-origin
- yaakov