我的目標是創建一個圓形圖標按鈕,其中一個圖標被圓圈包圍,並且該圓圈在懸停時收縮,但該圖標保持居中。在Safari中懸停按鈕的位置
我在Firefox和Chrome中使用這種效果,但在Safari 9中(我認爲它在Safari 10中類似),當我將鼠標懸停在按鈕上時,它們的垂直位置偶爾會意外上下移動。它似乎主要發生在快速更改哪個按鈕被徘徊時。
這是按鈕的HTML結構:
<a class='icon-button'>
<button>
<span class='bg'></span>
<span class='icon'>A</span>
</button>
</a>
這是SCSS代碼我申請:
.icon-button {
$width: 2em;
display: inline-block;
width: $width;
height: $width;
overflow: hidden;
cursor: pointer;
button {
position: relative;
display: flex;
align-items: center;
text-align: center;
width: $width;
height: $width;
padding: 0;
margin: 0;
background: none;
border: none;
cursor: pointer;
}
.bg {
background-color: #FF9999;
width: $width;
height: $width;
border-radius: $width/2;
margin: 0 auto;
transition: width 128ms linear, height 128ms linear;
}
&:hover .bg {
width: 0.8 * $width;
height: 0.8 * $width;
}
.icon {
color: #FFF;
position: absolute;
top: 0;
left: 0;
line-height: $width;
width: 100%;
}
}
這裏是一個的jsfiddle網頁,我複製的問題與相關的代碼:https://jsfiddle.net/Auroratide/6u463jL5/3/
有誰知道是什麼導致這種情況發生在Safari中,但不是其他瀏覽器?我可能會需要改變我的策略,所以CSS不是那麼簡單,但我很好奇。
UPDATE:
下面的鏈接,我所看到的,用Safari瀏覽器對比的Firefox視頻:
它仍然存在這個問題):我剛纔在我的文章中上傳了一個視頻,顯示了我在Firefox和Safari中看到的內容。另外,我嘗試完全刪除轉換,但仍遇到同樣的問題,儘管程度較低。 – Auroratide
啊,我看到現在的問題是什麼,我認爲這是實際的轉換效果不起作用(不是定位問題)。你發佈的答案是否解決了這個問題? – MHamer5
是的,它的確如此。感謝您看看它! – Auroratide