我承认 CSS 不是我的一杯茶,所以我可能在这里遗漏了一些明显的东西。我的问题是,当我有一个元素同时具有“clear: both;”的 CSS 属性时 和“身高:100%;” 该元素实际上最终超过了页面高度。这是一个例子:http: //jsfiddle.net/d9mv7/
请注意,蓝色框架会导致出现滚动条并超出页面高度,尽管它是“100%”。当“clear:both”属性被删除时,它会按预期呈现(JsFiddle 仍然添加了一个不需要的滚动条,但是当正常呈现时,我没有这个问题)。
我的意图是让底部 div(JsFiddle 中的蓝色)一直到页面高度的底部,但停在页面底部,正确绘制边框,与两侧相同。问题是我在 div 上方确实有具有 float 属性的内容,要求 div 具有“clear: both”属性才能正确呈现(除非有另一种方法而无需对像素大小进行硬编码)。
我尝试将顶部(浮动元素)和底部 div 都包装在一个额外的 div 中,以便它们的高度相对于该 div 而不是页面。这似乎使重叠更小(并且滚动条更短),但并没有让它消失。使用“溢出:隐藏;” 对我也不起作用,因为它仍然使 div 和内容超出底部,只隐藏滚动条。你们建议我如何处理这个(最好没有 JavaScript)?