我有一个宽度为 1000 像素的 div 容器,其中三个 div 宽度为 33.333333%,全部为 float:left。
99.999999% 可能没有覆盖 100% 宽度的容器 div 显示的一两个像素的宽度(参见右侧图片红色像素)。
我该如何解决这个问题,最好不要将其设置为四个 div,每个 div 甚至 25%?

我有一个宽度为 1000 像素的 div 容器,其中三个 div 宽度为 33.333333%,全部为 float:left。
99.999999% 可能没有覆盖 100% 宽度的容器 div 显示的一两个像素的宽度(参见右侧图片红色像素)。
我该如何解决这个问题,最好不要将其设置为四个 div,每个 div 甚至 25%?

如果你只在前两个元素上设置 and ,然后在第三个元素上设置floator (只是 not ),那么魔法会自动填充剩余的空间,这样就永远不会有间隙。widthoverflow: hiddenoverflow: autovisible
请参阅这个小提琴示例,我已经覆盖了:last-childdiv 的值以实现这一点。
这有效:
<!DOCTYPE html>
<html>
<head>
    <style>
        div.container {
            width: 1000px;
            padding: 10px;
            background: #5cabc1;
            overflow: hidden;
        }
        div.box {
            box-sizing: border-box;
            -moz-box-sizing: border-box; /* Firefox */
            width: 33.3%;
            float: left;
        }
        div.b1 {
            background: #fca502;
        }
        div.b2 {
            background: #ffff00;
        }
        div.b3 {
            background: #afcfe4;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box b1">div 1</div>
        <div class="box b2">div 3</div>
        <div class="box b3">div 3</div>
    </div>
</body>
</html>
    您需要 box-sizing 属性:
试试这个:
display: inline-block;
margin: 0;
padding: 0; 
    CSS 中的百分比宽度都是独立计算的。因此,您最终会得到三个 333px 的 div,并剩下一个像素。
如果父元素具有固定宽度,只需将三列设置为适当的大小(333px、334px、333px)即可填充容器。不需要百分比!