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%) ;'。 –