Css 当paze处于浏览器缩放状态时,Div下降 测试1016=8+1000+8

Css 当paze处于浏览器缩放状态时,Div下降 测试1016=8+1000+8,css,html,Css,Html,在我的html/css中,为什么浏览器缩放时最后一个div会下降。正如我在评论中所说,问题是缩放时像素的舍入错误 简单示例:如果在一个99像素的容器中有三个33像素宽的框,并且缩小到75%,则框将(四舍五入)为25像素宽,而容器将为74像素宽。这不合适 <body style="padding:0px; margin:0px;"> <div style="width:1016px;"> <div style="width:8px; hei

在我的html/css中,为什么浏览器缩放时最后一个div会下降。

正如我在评论中所说,问题是缩放时像素的舍入错误

简单示例:如果在一个99像素的容器中有三个33像素宽的框,并且缩小到75%,则框将(四舍五入)为25像素宽,而容器将为74像素宽。这不合适

<body style="padding:0px; margin:0px;">
      <div style="width:1016px;">
        <div style="width:8px; height:100px; background:red; width:8px; float:left;"></div>
        <div style=" float:left; border:#ccc solid 1px; height:100px; padding:20px; width:958px;">
            testing 1016=8+1000+8
        </div>
        <div style="background:red; height:100px; width:8px; float:left;"></div>
        <div class="clear"></div>
    </div>
</body>
看。(但是,请注意,不同的浏览器在不同的缩放因子上存在问题。显然,它们的取整方式不尽相同。哦,好吧,至少我们可以观察到存在问题。)

那么,我们能做些什么呢?嗯,有很多解决方案:

  • 将容器加宽一点,或者完全删除其宽度约束,使其与窗口一样宽。那么这些盒子就永远合适了

  • 或者,将容器设为内联块,而不是给定宽度;这将确保它与内容紧密贴合

    .container {
        width:99px;
    }
    .child {
        float:left; width:31px; height:31px; 
        border:1px solid #666;
    }
    

  • 给最右边的框一个负边距,足够大以抵消舍入误差。如果容器右侧不需要显示任何内容,则可以将此边距设置为所需的最大边距,这不会产生任何影响

    .container {
        display:inline-block;
    }
    


  • 还有更多的解决方案,但我相信这些会让你开始。祝你好运

    问题是什么?你的上一个div是空的,所以它下降应该不是问题。把你的问题重新表述为实际问题时要考虑到这一点。不管怎样,你的问题的答案是,它不是。除非我遗漏了什么…我的问题是当浏览器大小调整到25%时,最后一个红色背景的div会下降。而且它不应该be@MrLister我知道我错过了什么,但我不明白。请帮我指出我的错误。很感谢,但我也需要像素宽度:(如我给出的问题/示例中,如果我删除边框:#ccc solid 1px;从中间div开始,则其工作正常,但我也需要它:(你的意思是没有一个解决方案对你有效吗?不,这不是我问题的解决方案。我只是不明白,如果我删除border,为什么div会下降:#ccc solid 1px;从我的中间div和zoomout的任何级别,它工作正常,但我也需要border,所以它不工作。然后你必须解释你有什么要求。显然你没有给我enou要处理的gh信息。根据您在问题中所写的内容,这三种解决方案都可以很好地工作。我在这个html/css页面中使用的html/css所有值的边框和宽度都将与我所需的相同。如果需要8测试1016=8+1000+8,您只需更改高度和背景色8.
    .child:last-child {
        margin-right:-100%
    }