2010-03-14 107 views
0

我有一个Filemaker计算,它可以生成包含多个表格的HTML页面。如何仅在表格单元格不为空时显示边框底部(CSS)

如果对某些字段中的值的计算结果的结果将是

<table> 
<tr><td>Example value 1</td></tr> 
<tr><td>Example value 2</td></tr> 
... 
</table> 

如果计算发现没有要显示的值,其结果将仅仅是

<table> 
</table> 

在第一种情况,我想要表格在底部(或任何其他水平线)显示边框; 在第二种情况下,我不想在底部显示边框。

我无法找到一个方法来完成这件事使用CSS ...

感谢adavance :-)

+0

你应该避免做空表。 '

'是不正确的语法,它应该至少包含一个带有至少一个'td'的'tr'。 – 2010-03-14 11:31:46

+0

我必须同意,解决这个问题的地方是在你的生成器中,任何只有CSS的解决方案都不会跨浏览器。 – 2010-03-14 11:33:13

回答

2

你可以尽可能接近此,鉴于你不能改变的标记:如果您正在生成多个表,你

table tr:last td { border-bottom: solid 1px blue; } 

需要这个(though less-supported):

table tr:last-child td { border-bottom: solid 1px blue; } 

虽然在IE6上没有保证。

但是,我强烈建议您不生成一个空表,如果你可以避免它,它是无效的HTML。如果你这样做了,你的CSS也变得更简单了,只是给出这个表:

table { border-bottom: solid 1px blue; } 
+0

是不是':最后孩子'?我从来不知道速记,谢谢它,如果它的工作! +1 – alex 2010-03-14 11:55:36

+0

@alex - 是的,如果你生成超过1张桌子,你可以切换到这个桌子,但它支持得不是很好,所以希望它是1张桌子......我会更新 – 2010-03-14 11:57:07

+0

伙计们,非常感谢你为您的快速帮助和意见... @Nick Craver - 感谢您的解决方案。它运作良好! 下面是我的请求的原因:当用户在我的FileMaker解决方案中打开记录时,会生成并显示相应的HTML代码(在这种情况下,计算结果不能存储在FileMaker中)。如果简单的CSS/HTML格式化可以解决问题,我宁愿让发生器做更少的计算工作。但我会坚持不建立空表的建议 - 以避免将来发生麻烦......再次感谢。 – Polarpro 2010-03-14 12:57:24

相关问题