为什么table里用了display:block;就和第一列宽度一样呢?
来源:互联网 发布:自己装修设计软件 编辑:程序博客网 时间:2024/06/17 13:46
在前端页面展示需要通过判断来显示 table标签内的东西,按照常理,对于某一单元行需要显示时,使用:display:block属性,不需要显示时使用display:none属性,而且这样做 在IE浏览器中显示正常,没有任何问题。
但是当用Firefox浏览时却出现了布局错乱的问题,然后通FireBug去看了下源码,调试下了,发现是display:block属性搞的鬼。
1、当表格为多列的情况下,属性为”display:block”行的内容宽度仅与第一列宽度相同,也就是说无论你使colspan的属性值为多少,剩余列的空间都不进行解析。
2、同一行反复的在”display:none;”与”display:block;”两个状态间切换时,表格的底部会持续的产生多余的空白空间以至于造成页面布局的扭曲。
解决方法:
1、用display:table-row属性来调试,发现者FireFox下正常了,但IE是不支持改属性的,怎么办呢?用JS来做判断,然后做兼容吧。
2、另外一个很简单也很可行的方法,就是用 display:’ ’ 这个属性dispaly后面不加任何的东西,很奇怪,这样就兼容了Firefox和IE了。具体原因有待牛人分析。
别答案:
1、每个html标签都有自己的默认display属性的,你把display设置成空的时候,浏览器应该是把元素给成默认的属性了,所以就兼容了所有的浏览器,可谓是无招胜有招啊!
2、不过,如果tr的display:none是在外部引入的css文件中设置的话,在ie7脚本中用display:”方法是没有用的
0 0
- 为什么table里用了display:block;就和第一列宽度一样呢?
- 转载:为什么table里用了display:block;就和第一列宽度一样呢?
- 列表两列布局 display:table-cell; *display:inline-block;
- Jquery 去掉样式一样table的第一行和除第一列之外的其他列,给td 添加样式
- 里用display:block的作用
- <div>里用display:block有用么?
- <div>里用display:block有用么?
- css样式之display属性----table和block的区别
- table设置列宽度
- 为什么display:line-block的a标签会加上文字之后会向下移动呢?
- 为什么display:line-block的a标签会加上文字之后会向下移动呢?
- 设置了table-cell 属性后,用百分比来设置宽度为什么会出现问题
- 为什么下雪的时候城市就感觉安静了呢?
- 基于display:table的CSS布局让HTML元素和像table一样
- 基于display:table的CSS布局让HTML元素和像table一样
- 基于display:table的CSS布局让HTML元素和像table一样
- display:none; display:block; display:inline和display:inline-block;
- javascript 控制 table tr display block 显示模式时,只对第一个单元格有效
- android wifi
- PO、VO、DAO、BO、POJO分别是什么?(JAVA几种对象的解释)
- Java 中的IO模型
- JavaScript中几个相似方法对比
- 关于Oracle、Mysql、SQLServer中指定查询结果中返回的行数问题!
- 为什么table里用了display:block;就和第一列宽度一样呢?
- Tomcat 的server.xml配置文件基本配置
- Android开发中第三方支付支付宝、微信
- 配置Tomcat虚拟主机
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- String、StringBuffere、StringBuilder的区别
- HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较
- python列表生成式
- Java中的数组