2016-11-11 64 views
2

我已經創建了一個圓形,其中包含一個fontAwesome圖標,並且在懸停時將其旋轉180度,工作正常,但在懸停時,當我將鼠標懸停並且圖標移動到180時,它的移動增加一個像素,不知道爲什麼。變換旋轉懸停向上移動一個像素

我的問題是爲什麼它在懸停時向上移動一個像素,我無法找到問題。

這裏是JSFiddle演示

編輯請注意,它在Firefox中唯一發生的事情。

.share-icon { 
 
background-color: #f00; 
 
border-radius: 50%; 
 
box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.3); 
 
color: #ffffff; 
 
float: left; 
 
font-size: 18px; 
 
height: 45px; 
 
line-height: 45px; 
 
margin-top: 50px; 
 
position: relative; 
 
text-align: center; 
 
width: 45px; 
 
transition: all 0.5s ease 0s; 
 
cursor: pointer; 
 
} 
 
.share-icon:hover { 
 
-webkit-transform: rotate(180deg); 
 
-moz-transform: rotate(180deg); 
 
-ms-transform: rotate(180deg); 
 
-o-transform: rotate(180deg); 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css"> 
 
<div class="share-icon" onclick="shairIcon(this)"> 
 
    <i class="fa fa-share-alt" aria-hidden="true"></i> 
 
</div>

+1

未見其不動了起來..我可以SEEE – Logeshwaran

+0

我忘了提及,它在FireFox只 –

+0

發生不,它是不動的。嘗試添加translateY(-1px)以查看如果移動一個px會發生什麼。 – Sagar

回答

1

參考這個CSS,我做了修正。

您應該在懸停時添加fa圖標類並添加轉換屬性。

.share-icon:hover .fa-share-alt { 
    -webkit-transform: rotate(180deg); 
    -moz-transform: rotate(180deg); 
    -ms-transform: rotate(180deg); 
    -o-transform: rotate(180deg); 
    -moz-transition: all 500ms ease; 
} 

工作DEMO!!!

+0

太棒了,它的工作完美,使圖標而不是框的旋轉是個好主意。 –

0

老實說,我不知道到底爲什麼,但如果你增加font-size只是兩個像素,你會擺脫這個跳躍。只需將代碼更新到以下

.share-icon { 
 
    background-color: #f00; 
 
    border-radius: 50%; 
 
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.3); 
 
    color: #ffffff; 
 
    height: 45px; 
 
    width: 45px; 
 
    line-height: 45px; 
 
    text-align: center; 
 
    cursor: pointer; 
 
    font-size: 20px; 
 
} 
 
.share-icon i { 
 
    transition: all 0.5s ease 0s; 
 
} 
 
.share-icon:hover i { 
 
    transform: rotate(180deg); 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css"> 
 
<div class="share-icon" onclick="shairIcon(this)"> 
 
    <i class="fa fa-share-alt" aria-hidden="true"></i> 
 
</div>

+0

字體大小不是問題,問題是隨着旋轉,我正在旋轉主要的div,但正如@Logeshwaran建議旋轉圖標將修復問題,做了。 –

+0

@SanjeevK好吧,以爲你的意思是你不希望在懸停動畫完成後跳過圖標。但是很好,以前的答案可以解決你的問題。 – SvenL