【发布时间】:2012-01-04 03:26:49
【问题描述】:
TD 内部有一个 DIV,我使用 jQuery 的 fadeOut 函数将其删除,但是当它完成时边框也会消失。
我想避免这种情况,除了添加“ ”之外还有其他方法吗? (这导致它很丑)?
编辑:我使用的是 Internet Explorer(6 和 7)
【问题讨论】:
标签: jquery internet-explorer fadeout html-table
TD 内部有一个 DIV,我使用 jQuery 的 fadeOut 函数将其删除,但是当它完成时边框也会消失。
我想避免这种情况,除了添加“ ”之外还有其他方法吗? (这导致它很丑)?
编辑:我使用的是 Internet Explorer(6 和 7)
【问题讨论】:
标签: jquery internet-explorer fadeout html-table
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 及以下仍然不会这样做。对empty-cells 的支持据说是the MS CSS compatibility statement 上的“部分”(对于IE7 和IE8 Beta 1)。无论“偏”是什么意思,不执行“秀”都很难称得上是“偏支持”。这些浏览器可以通过通常折叠表格边框来强制绘制单元格边框:
table {
border-collapse: collapse;
}
empty-cells 的设置被忽略。但是一旦你折叠了边框,你无论如何都不需要设置它,因为所有的浏览器都会显示折叠的边框。
【讨论】:
【讨论】:
在单元格中添加一个不间断的空格:
<td>&nbsp;</td>
一个 hack,但比添加图像更好。
【讨论】:
我最终在单元格中添加了一个透明的 1px 图像,名称为 suggested by Jukka "Yucca" Korpela。现在,如果没有更好的选择,我将使用此解决方案
【讨论】:
如果你有如下表:
<table border="1">
<tr>
<td>Breakfast</td>
<td><div id="foo">Lunch</div></td>
<td>Dinner</td></tr>
</table>
而你用 jQuery 淡出,Lunch,为什么不用淡入带回空白呢?
如下:
$("#foo").fadeOut("slow").html('').fadeIn("fast");
【讨论】:
根据您要完成的具体任务,您可以将 div 的 visibility-property 设置为 hidden,而不是将其 display-property 设置为 none,即您必须恢复display 和并在调用opacityfadeOut()后手动设置visibility。
【讨论】: