CSS:隐藏没有类或id的表

时间:2010-08-24 19:32:22

标签: html css html-table

有没有办法通过使用表样式来选择隐藏没有类的特定表?

例如,如果我有一个具有此名称的表

<table border="0" cellspacing="0" cellpadding="0" width="300" height="100">

<td colspan="3">

我无法访问html并且无法使用javascript,必须是css解决方案。

4 个答案:

答案 0 :(得分:2)

所有其他表都有类吗?如果是,您可以隐藏所有表并仅显示具有类的表:

table { dispaly: none; }
table.someClass1,
table.someClass2 { display: table; }

请记住,这将隐藏所有表格并仅显示您在子句中使用“display:table”指定的表格。

答案 1 :(得分:1)

您可以使用上下文选择器根据其父元素确定要隐藏哪个<table>(假设它在其他<table>的标记中足够独特):

所以如果你有:

<div><p><table border="0" cellspacing="0" cellpadding="0" width="300" height="100"></table></p></div>

然后你可以这样做:

div p table {
    display: none;
}

兼容大多数现代浏览器(包括IE6)。

答案 2 :(得分:1)

您可以使用属性应用规则。结合上下文选择器,它可以解决您的问题:

div#page-foo div.bar td[colspan=3] {
  display: none;
}

答案 3 :(得分:1)

如果您愿意牺牲IE 6的兼容性,您可以根据attribute selector的属性来实现。例如:

td[colspan="2"] {color: red}
table[border="0"][cellspacing="0"][cellpadding="0"][width="300"][height="100"] {text-align: center}

否则,您可以尝试根据上下文选择表格(例如div.container div.innercontainer table)。