【问题标题】:CSS Border irr behavior on colspan TDcolspan TD 上的 CSS 边框 irr 行为
【发布时间】:2020-12-18 16:50:39
【问题描述】:

我有一个关于边框的 CSS 问题,问题是在具有 colspan 的 td 周围添加边框。

表格有属性:

<table cellspacing=0 cellpadding=0 border=0>

CSS 样式:

.tdclass{
    background-color:#FDBCC1;
}

.tdclass td{
    border-top: 3px solid white;
}

它的工作方式是这样的:

<tr class = "tdclass">
<td> ...
<td colspan="2"> ...
<td> ...
</tr>

这个 CSS 所做的是突出显示某些行并添加一条白线 作为假的行间距。向&lt;tr&gt; 元素添加边框不起作用,只有 在&lt;td&gt; 上工作。

现在这在所有单元格上都可以正常工作,除了带有“colspan”的单元格。 问题是它生成了边框但它不是白色的,它是一样的 颜色作为“.tdclass”中定义的单元格背景。这个问题好像 仅发生在“colspan”&lt;td&gt; 元素上。 所以效果看起来好像单元格从行上移了:

喜欢这样:

____-----____

那个小凹凸是&lt;td&gt;,其中包含“colspan”。它看起来像凹凸,因为 所有其他单元格生成白色边框,而生成的边框具有 与.tdclass“背景色”相同的颜色。

有什么理由吗?有解决办法吗?

【问题讨论】:

  • 如果在 td 标签而不是 tr 中分配类,会有什么不同吗?这是否发生在不同的浏览器中?

标签: css


【解决方案1】:

您的 td 中是否有任何带有 colspan 的内容?

IE、Firefox 和 Chrome 以三种不同的方式呈现以下内容:

<tr class = "tdclass">
 <td> blah</td>
 <td colspan="2"> </td>
 <td> blah</td>
</tr>

Chrome 可以满足您的期望。 Firefox 执行您所描述的操作。 IE 离开边框,不扩展背景色。

尝试在空单元格中插入&amp;nbsp;

【讨论】:

  • 非常感谢,解决了,有内容,但它是动态生成的,并不总是可用
  • 您可能必须包含一个  默认。也许你可以在 JS 中做到这一点,如果表格单元格为空,它将放入一个。
【解决方案2】:

直接给你的&lt;td&gt; 一个边框,例如css("border-top", "#808080 1px dotted")

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 2015-10-01
    • 1970-01-01
    • 2012-09-19
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2019-10-03
    相关资源
    最近更新 更多