(CSS) 不同浏览器对table中visibility属性显示的不同

本文举例说明在不同浏览器对tablevisibility属性显示的不同。

一、HTML代码

<table>
  <thead>
    <tr>
      <th>th</th>
      <th>th</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>td</td>
      <td>td</td>
    </tr>
  </tbody>
</table>

二、不同浏览器的表示

选取了ChromeFireFoxEdgeIE11分别测试,下文所有图片从左至右顺序均如前所述。

2.1 在border-collapse: collapse;情况下,隐藏thead元素
table {
  border-collapse: collapse;
}
th, td {
  border: 1px solid black;
}
thead {
  visibility: hidden;
}

显示结果如下图:

图片描述

可以看出,Chrome把边框隐藏了,但另外三者只隐藏了内容,未隐藏边框。

2.2 无border-collapse属性,隐藏thead元素
th, td {
  border: 1px solid black;
}
thead {
  visibility: hidden;
}

四者显示结果相同,如下图:

图片描述

2.3 在border-collapse: collapse;情况下,隐藏th元素
table {
  border-collapse: collapse;
}
th, td {
  border: 1px solid black;
}
th {
  visibility: hidden;
}

四者显示结果与2.1节相同,如下图:

图片描述

2.4 无border-collapse属性,隐藏th元素
th, td {
  border: 1px solid black;
}
th {
  visibility: hidden;
}

四者显示与2.2节相同,如下图:

图片描述

2.5 在border-collapse: collapse;情况下,隐藏tr元素
table {
  border-collapse: collapse;
}
th, td {
  border: 1px solid black;
}
tr {
  visibility: hidden;
}

显示结果如下图:

图片描述

可以看出,ChromeFrieFox将整个表格隐藏,而EdgeIE11未将边框隐藏。

2.6 无border-collapse属性,隐藏tr
th, td {
  border: 1px solid black;
}
tr {
  visibility: hidden;
}

四者显示结果相同,均将表格全部隐藏

图片描述

三、结论

  • border-collapse: collapse;情况下,隐藏theadthChrome可将thead部分全部隐藏,而FireFoxEdgeIE11只隐藏了thead部分的文本内容,未隐藏边框。

  • border-collapse属性时,隐藏theadth,四个浏览器均可以将thead部分全部隐藏。

  • 上述两个结果也适用于tbody相关元素。

  • border-collapse: collapse;情况下,隐藏trChromeFireFox可将表格全部隐藏,而EdgeIE11只隐藏了表格的文本内容,未隐藏边框。

  • border-collapse属性时,隐藏tr,四个浏览器均可以将表格全部隐藏。

  • 若使不同浏览器显示相同结果,可对thtd设置border: none;

我并没有找到产生上述结果的原因,只能认为是不同浏览器处理结果的不同。W3school上说若不规定!DOCTYPEborder-collaspe可能产生意想不到的结果,上述测试均有规定!DOCTYPE

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值