使空单元格边框出现的CSS?

时间:2020-03-05 18:51:37  来源:igfitidea点击:

即使单元格为空,我应该使用哪种CSS来显示单元格的边框?

专门针对IE 7.

解决方案

回答

如果我还记得的话,该单元格在某些IE中是不存在的,除非它充满了某些东西...

如果我们可以放置​​一个`(不间断的空格)来填补空白,那通常是可行的。还是我们需要纯CSS解决方案?

显然,IE8默认显示了单元格,我们必须使用empty-cells:hide将其隐藏,但是它在IE7中根本不起作用(默认情况下是隐藏的)。

回答

我想用CSS不能做到这一点。
我们需要在每个空白单元格中放置一个,以便边框在IE中显示...

回答

我刚发现以下内容。它符合标准,但在IE中不起作用。叹。

empty-cells: show

回答

理想情况下,表中不应有任何空单元格。或者我们有一个数据表,并且该特定单元格中没有数据(应使用"-"或者" n / a /"或者同样适当的名称来表示,或者必须根据建议使用)或者有一个需要跨越一列或者一行的单元格,或者我们正在尝试使用应该用于CSS的表来实现某些布局。

我们可以再详细一点吗?

回答

如果将" border-collapse"属性设置为" collapse",则IE7将显示空白单元格。尽管它也会使边界折叠,所以这可能不是我们想要的100%

td {
  border: 1px solid red;
}
table {
  border-collapse: collapse;
}
<html> <head> <title>Border-collapse Test</title> <style type="text/css"> td {
  border: 1px solid red;
}
table {
  border-collapse: collapse;
}
<table>
  <tr>
    <td></td>
    <td>test</td>
    <td>test</td>
  </tr>
  <tr>
    <td>test</td>
    <td></td>
    <td>test</td>
  </tr>
  <tr>
    <td>test</td>
    <td></td>
    <td>test</td>
  </tr>
  <tr>
    <td>test</td>
    <td></td>
    <td />
  </tr>
</table>

回答

由于IE8已经发布,因此在这种情况下," IE"不再是一个有用的术语。

IE7始终会执行" empty-cells:show"(或者告诉我... Vista)。
IE8在其任何" Quirks"或者" IE7 Standards"模式下始终执行" empty-cells:hide"。
IE8在"标准"模式下默认为" empty-cells:show",并通过CSS支持该属性。

据我所知,其他所有浏览器都已经正确地支持此功能了几年(我知道它是在Firefox 2中添加的)。

回答

确保所有单元中都有数据的另一种方法:

$(document).ready(function() {
      $("td:empty").html(" ");
    });

回答

我是从另一个网站上获取的,但:

.sampletable {
border-collapse: collapse;}

.sampleTD {
empty-cells: show;}

分别用于表和TD元素的CSS。

回答

仅空单元修复的Firefox(是的,我确实在Firefox中确实存在此问题)IE 7和8仍然有问题。

这在Firefox 3.6.x,IE 7和8,Chrome和Safari中都对我有用:

=============================

table {
*border-collapse: collapse;}

.sampleTD {
empty-cells: show;}

=============================

必须使用*来确保表格样式仅应用于IE浏览器。