2015-04-16 37 views
0

我正在使用表格佈局的遺留網頁(很遺憾,我不能用新的純HTML \ CSS佈局替換),我有以下問題。如何將CSS設置僅設置爲外部表的td,而不是內部表?

我有這樣的情況:

<table class="externalTable"> 
    <tr id="firstRow"> 
     <td> 
      <div> 
       <table id="tablistOn"> 
        <!-- SOME ROWS ARE SHOWED --> 
       </table> 
      </div> 
     </td> 

     <td>SECOND td</td> 
     <td>THIRD td</td> 
    </tr> 
</table> 

我需要申請一個bottom-border屬性只對#firstRow行,我做這樣:

.externalTable #firstRow td, .externalTable #firstRow th { 
    border-top: 1px solid red; 
    border-bottom: 1px solid red; 
} 

,但在做這樣的問題在於,這種風格也適用於內部表格行(具有id="tablistOn")的所有行列。

我認爲我可以覆蓋它爲此表定義一種新的樣式,但我問我是否可以將我的樣式僅應用於外部表,只選擇class="externalTable"表,而不是其內部表id="tablistOn"

我怎樣才能以某種方式做到這一點?

TNX

+2

使用'>'; '.externalTable #firstRow> td'。那麼它只會將樣式應用於下一個'td' –

+0

如果我錯了,請糾正我,但不是'.externalTable'的* first *行中的#tablistOn'?或者我不明白這個問題嗎? – LinkinTED

回答

0

嘗試這樣做:

.externalTable #firstRow td, .externalTable #firstRow th { 
    border-top: 1px solid red; 
    border-bottom: 1px solid red; 
} 

#firstrow table td { 
    border: none; 
} 

問候。

0

你可以用兩種方法來解決這個問題。

1.

#externalTable td{ 
// One Style 
} 

#tablistOn td{ 
// One Style 
} 
#externalTable td:not(#tablistOn td) { 
// Styles 
}