0
每当我需要定位东西,所以它是垂直和/或水平我通常诉诸于flexbox,如果这不是解决方案我position: absolute
与top:50%;
和/或left:50%;
与transform: translate(-50%,-50%);
。我用下面的代码尝试了这个,但是我没有得到这样的结果。无法居中:之后和:之前:水平和垂直之前
HTML
.plus-minus-toggle {
cursor: pointer;
height: 50px;
position: relative;
width: 50px;
background: red;
&:before,
&:after{
background: white;
content: '';
height: 5px;
left: 50%;
position: absolute;
top: 50%;
width: 21px;
transform: translate(-50%,-50%);
transition: transform 500ms ease;
}
&:after {
transform-origin: center;
}
&.collapsed {
&:after {
transform: rotate(90deg);
}
&:before {
transform: rotate(180deg);
}
}
}
<div class="plus-minus-toggle collapsed"></div>
我不确定如何做到这一点,我甚至尝试包裹在父div
的div
和应用定位CSS那里,但没有运气,它是一样的。
打我给它。这是对的。 – offbyone
呃,业余的错误,不敢相信我没有看到... –
我更新了你的答案。我注意到当我点击图标时它没有居中,因此对于'.plus-minus-toggle:before,.plus-minus-toggle:after'我添加了'transform:translate(-50%, - 50%) ;'。 –