在table中的display:block显示布局错乱

当用谷歌浏览器时,在将表格table中的<tr>的display属性从none改为block时,或出现所有的td都不起作用,内容都集中在第一列里,然后在网上百度了一下,一下事原因分析和解决方法

1、当表格为多列的情况下,属性为"display:block"行的内容宽度仅与第一列宽度相同,也就是说无论你使colspan的属性值为多少,剩余列的空间都不进行解析。
2、同一行反复的在"display:none;"与"display:block;"两个状态间切换时,表格的底部会持续的产生多余的空白空间以至于造成页面布局的扭曲。

解决方法:
1、用display:table-row属性来调试,发现者FireFox下正常了,但IE是不支持改属性的,怎么办呢?用JS来做判断,然后做兼容吧。
2、另外一个很简单也很可行的方法,就是用 display:' ' 这个属性dispaly后面不加任何的东西,很奇怪,这样就兼容了Firefox和IE了。具体原因有待牛人分析。

展开阅读全文

没有更多推荐了,返回首页