我有一个正方形的背景图像,其大小与覆盖此正方形的div大小相同。 (这里没有提到这是神的原因)。当将这个背景图片和div对齐时,它们在某些浏览器宽度上不会重叠。当重新调整浏览器的大小时,有时背景方块会错位1个像素。正如你可以在下面的例子和JSFiddle中看到的那样,拖动浏览器宽度时,背景方块的1个像素有时是可见的。取决于浏览器宽度的居中背景图像和居中的DIV之间的不对齐
有没有解决方案呢?为什么元素之间的定位不同步?
尝试重新大小的小提琴视口的宽度,你会看到错位发生时,青色背景方有时是可见的。
的jsfiddle:http://jsfiddle.net/jj3qxL3k/
代码:
div{
background-color: yellow;
width: 800px;
margin: 0 auto;
}
html{
background: url(http://s29.postimg.org/42cuy8m7b/tester.png) center center repeat;
margin: 0;
padding: 0;
}
body{
margin: 0;
padding: 0;
}
<div>CONTENT DIV</div>
CSS试过这种没有任何的运气:
/* Fix form centering background input chrome */
@media screen and (-webkit-min-device-pixel-ratio:0) {
html {
margin-left: 1px;
}
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
body {
background-position: 50.001% 0;
}
}
顺便说一句...这发生在我的Chrome版本43.0.2357.81米。
这将是一个浏览器像素四舍五入问题,我敢肯定 –
是的,正如Tanel Eero的帖子中所讨论的,这个DIV和Background-image的居中应该以同样的方式圆整!所以...让我们听听“非JavaScript”,基于CSS的解决方法:) –