假设我想div#wrapper
使用两个带有 的 div 创建一个背景,一半是蓝色,一半是红色width:50%
,如下所示:
HTML:
<div id="wrapper">
<div id="leftSide"></div>
<div id="rightSide"></div>
</div>
CSS:
body, html, #wrapper {
width: 100%;
height: 100%;
}
#wrapper {
background: white;
}
#leftSide, #rightSide {
width: 50%;
height: 100%;
}
#leftSide {
float: left;
background: blue;
}
#rightSide {
float: right;
background: red;
}
从理论上讲,这将解决该任务。但是,如果包装器的宽度包含奇数个像素,那么剩下的 1px 会发生什么?
例如,如果包装器的宽度更改为 101 像素,那么宽度#leftSide
将是 50 像素,并且宽度#rightSide
将是 50 像素,大概会在中间留下一条 1 像素的垂直白线。
浏览器通常如何呈现这个?一侧会吸收剩余的 1px 吗?如果是这样,解决这个问题的最佳纯 CSS 方法是什么?我的第一个倾向是将包装器的背景设置为红色或蓝色,但是还有其他方法吗?