小编典典

CSS3转换旋转导致Chrome中移动1像素

css

我在chrome中遇到了css3转换旋转过渡的问题。过渡效果很好,但是在完成过渡后,元素移位了一个像素。另一个奇怪的事情是,它仅在页面居中(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

干杯


阅读 280

收藏
2020-05-16

共1个答案

小编典典

实际上,只需将其添加到包含所有元素的站点容器中: -webkit-backface-visibility: hidden;

应该解决它!

2020-05-16