我有一个标准的三列布局,其中第一列向左浮动,第三列向右浮动。第一列需要全高背景。
display:table
解决方案。为了实现全高左列,我在colLeft
上创建了一个伪元素。该伪元素具有固定定位设置到视口底部,100%高度,并放置在左列后面。这个解决方案很棒,因为:
left
或right
属性,固定定位的伪元素将保留在左列(适用于居中布局)。这是一个example on CodePen。
(确保在IE中查看CodePens时文档模式遵循浏览器模式)。
在IE8中,全高左列背景仅向下延伸到初始视口底部(折叠)。
我created another test使用新的leftColBg
节点而不是伪元素。这在IE8中按预期工作,这意味着固定定位应该有效。
以下是我在IE8和生成的内容上找到的最佳解释:Why does a filter gradient on a pseudo element not work in IE8?
我认为IE8错误地定位了生成的内容,因为它不是包含内容的“对象”。任何人都可以更好地解释这个IE8错误吗?有修复吗?