1

TD有一个DIV,我使用jQuery的fadeOut函数删除了它,但是当它完成时边框也消失了。

我想避免这种情况,除了添加“ ”之外还有其他方法吗?(这导致它很丑)?

编辑:我正在使用 Internet Explorer(6 和 7)

4

6 回答 6

9

CSS:

table {
  empty-cells: show;
}

您还需要将 IE 置于标准渲染模式才能正常工作。添加 doctype 后,至少 IE8(Beta 2 和更高版本)可以正常运行。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 "http://www.w3.org/TR/html4/loose.dtd">

IE7及以下仍然不会这样做。在 MS CSS 兼容性声明中,支持empty-cells被称为“部分”(针对 IE7 和 IE8 Beta 1)。无论“偏”是什么意思,不执行“秀”都很难称得上是“偏支持”。这些浏览器可以通过通常折叠表格边框来强制绘制单元格边框:

table {
  border-collapse: collapse;   
}

的设置empty-cells被忽略。但是一旦你折叠了边框,你无论如何都不需要设置它,因为所有的浏览器都会显示折叠的边框。

于 2009-03-02T13:08:44.803 回答
5

向单元格添加不间断空格:

<td>&nbsp;</td>

一个 hack,但比添加图像更好的 hack。

于 2009-03-02T13:46:12.313 回答
5

<td style="font-size: 1pt"> <td>

于 2009-03-02T13:48:46.317 回答
3

我最终按照 Jukka "Yucca" Korpela 的建议向单元格添加了一个透明的 1px 图像。现在,如果没有更好的选择,我将使用此解决方案

于 2009-03-02T13:22:41.493 回答
0

根据您要完成的具体任务,您可以将visibilitydiv 的 -property设置为,hidden而不是将其display-property 设置为none,即您必须恢复display opacityvisibility在调用后手动设置fadeOut()

于 2009-03-02T13:37:07.153 回答
0

因此,如果您有如下表格:

<table border="1">
<tr>
 <td>Breakfast</td>
 <td><div id="foo">Lunch</div></td>
 <td>Dinner</td></tr>
</table>

而你用 jQuery 淡出,午餐,为什么不用淡入带回一个空白的空呢?

如下所示:

$("#foo").fadeOut("slow").html('').fadeIn("fast");
于 2009-03-02T14:18:12.563 回答