2010-08-24 57 views
0

有沒有辦法隱藏沒有類的表使用表樣式選擇?CSS:隱藏沒有類或標識的表

例如,如果我有一個表,這個名字

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

<td colspan="3"> 

我沒有訪問HTML,並且不能使用JavaScript,必須是一個CSS的解決方案。

回答

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)表。

+0

這將爲我需要做的工作,謝謝。 – tim 2010-08-24 19:50:23

1

您可以使用上下文選擇指定正是您想要根據它來隱藏其<table>的父元素(賦予它是從其他<table> S上的標記足夠的唯一):

所以,如果您有:

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

然後,你可以這樣做:

div p table { 
    display: none; 
} 

上最現代的瀏覽器(包括IE6)兼容。

+0

這是迄今爲止最相關的答案。 +1 – Latze 2010-08-24 19:44:28

2

是否所有其他表都有類?如果是的話,你可以隱藏所有表和只顯示那些用類:

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

請記住,這將隱藏所有的表格,並僅顯示你與子句中指定的那些「顯示:表」。

1

您可以使用attrbutes應用規則。與上下文選擇相結合它可以解決你的問題:

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