在table中tr的display:block显示布局错乱问题(2017-8-14 qhjr)

最近在作项目的时候碰到一个问题,就是需要AJAX来交互显示<tr> </tr> 标签内的东西,按照常理,对于某一单元行需要显示时,使用:display:block属性,不需要显示时使用display:none属性,


但是当用Chrome浏览时却出现了布局错乱的问题,调试下了,发现是display:block属性搞的鬼。

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

解决方法:

有一个很简单也很可行的方法,就是用 display:' ' 这个属性dispaly后面不加任何的东西,很奇怪,这样就兼容了Firefox和IE了。


<tr>
<td width="150px" float="left">
<input type="button" id="btn1" value="使用跳转地址" >
</td>
<td width="150px" float="right">
<input type="button" id="btn2" value="不使用跳转地址">
</td>

</tr>

<tr style="display:none" id="textArea">
<td width="150px" >跳转地址</td>
<td width="1000px">
<input type="text" name="fwdurl" maxlength="230" style="width:370px" />
</td>
</tr>


var text = document.getElementById("textArea");
var oBtn1 = document.getElementById("btn1");
var oBtn2 = document.getElementById("btn2");


oBtn1.onclick = function(){
text.style.display = "";
}


oBtn2.onclick = function(){
text.style.display =  "none";
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值