在使用CSS3的转换旋转过渡时,我在Chrome浏览器中遇到了一个问题。过渡效果很好,但就在完成后,元素会移动一个像素。另一个奇怪的事情是,只有当页面居中(margin:0 auto;
)时才会发生这种情况。即使去掉过渡效果,这个错误仍然存在。
您可以在这里看到它的发生:
HTML:
<div class="wrap">
<img src="https://github.com/favicon.ico" class="target" alt="img"/>
</div>
<div class="wrap">
<div class="block"></div>
</div>
CSS:
.wrap {
margin:50px auto;
width: 100px;
}
.block {
width:30px;
height:30px;
background:black;
}
.target,.block {
display:block;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.target:hover,.block:hover {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
}
注释掉 margin:0 auto;
这一行就可以去掉它。
有人有什么想法可以在保持页面居中的同时停止这个现象吗?
我在OSX 10.6.8上使用版本24.0.1312.57。
干杯!