我有一个简单的固定宽度表。第一列有一个流体宽度并包含一些简单的文本。其他列是固定的宽度,并包含一个带有一些更简单文本的填充div。表中的所有元素都设置为vertical-align:middle。在IE7 +,FF,Chrome等中,一切都垂直对齐。垂直对齐:在IE8中的中间(在IE7/FF /铬)
然后我添加了一些JS来切换固定宽度列的显示。在FF,Chrome甚至IE7中,所有东西都保持垂直对齐,但由于某些原因,IE8变得棘手。
下面是一个演示:http://www.pinksy.co.uk/table.html
为了证明:
- 切换列4列5将被垂直排列的,如果它仍然是旧的行高度。
- 切换第3列。然后第4列和第5列将垂直对齐,就好像它仍然是旧的行高。
- 切换第2列。第3,4和5列然后将垂直对齐,就好像它仍然是旧的行高。
因此,这与IE8无法重新计算其余最右列相对于新行高的垂直对齐有关。
疯狂的事情是,在IE7中很好!任何想法非常感谢!
IE8。浏览器世界的肯德基大脑。很奇怪它在IE7中工作,但不是IE8。也许尝试将你的文档类型改为Strict,或者使用'<!DOCTYPE html>'? – Bojangles 2012-02-17 03:15:23
不错的想法,但也没有工作,可悲的是:/ – pinksy 2012-02-17 09:29:46