2012-03-05 55 views
0

我有一個適用於所有表,TD,DIV等重置的外部CSS。 在我的網站,有一個客戶模板,允許用戶在html中創建他們的願望內容。CSS選擇器異常

在網頁中查看此客戶模板時,我不想應用以上外部CSS。
所以我把這個客戶模板的內容放到一個div中,試圖從css中排除這個div和它的所有孩子。

是否有可能編寫css選擇器來選擇所有的表,td,div等...這不是給定div ID的子節點?

以下是我測試的html代碼和reset.css div customtemplate的內容是由用戶動態輸入的。 用戶嘗試邊框= 1到表格,它將所有表格單元格應用於邊框1而沒有reset.css。 但與重置CSS,沒有邊框出現。 我的用戶不是HTML/CSS專業人士,所以他們會創建簡單的html,並期望在他們寫入測試頁時顯示。 如果他們的html在所有瀏覽器中看起來都不完全相同,則由他們決定。
我對此沒有任何責任。我只需要顯示他們的div在div中沒有​​reset.css。 無論如何解決?

  <html> 
      <head> 
       <link href="reset.css" type="text/css" rel="stylesheet"/> 
      </head> 
      <body> 
       <div class="customtemplate"> 
        <table border="1" cellpadding="10px"> 
         <tr> 
          <td>abcd</td><td>def</td> 
         </tr> 
         <tr> 
          <td>hello</td><td>world</td> 
         </tr> 
        </table> 
       </div> 
       <br><br> 
       <table> 
        <tr> 
         <td>default</td><td>reset</td> 
        </tr> 
        <tr> 
         <td>style</td><td>using</td> 
        </tr> 
       </table> 
      </body> 
      </html> 


      table, td { 
       border: 0; 
       padding: 0; 
      } 

回答

1

正確的方法是爲該div定義默認值。重置的CSS可以幫助您避免由瀏覽器中的不同默認值導致的問題。因此,對於具有給定ID的div,您應該定義一些合理的默認值,這與網站上使用的默認值不同,但仍然可以在每個瀏覽器上預設爲相同的默認值。

例如:

/* reset.css */ 

p { margin: 0; } 

/* yourdefaults.css */ 

#yourdiv p { margin-bottom: 10px; } 
+0

我不能修復客戶模板的內容風格。 用戶可以自由編寫他們渴望的html和內聯樣式。 他們在測試頁面設計他們的html頁面的問題,並將html複製到我們的網站。 他們的頁面在測試頁面看起來不錯,但由於我們的重置樣式,在我們的站點中沒有按預期顯示。 我無法知道和限制客戶模板的樣式,只需要顯示它,因爲它沒有任何外部CSS應用。 – zawmn83 2012-03-06 02:56:47

+0

@ zawmn83你真是該死的。無論你做什麼,他們做的事情都沒有機會在每個瀏覽器中顯示相同的方式。你需要某種默認設置。例如,他們的HTML可能會以默認的Chrome顯示,但IE8的默認設置可能是垃圾。你應該強制包含你的CSS,否則你將會一直被詛咒。 – kapa 2012-03-06 08:22:31

+0

感謝您的回覆,我編輯了我的問題以包含示例代碼。請檢查並幫助 – zawmn83 2012-03-06 10:54:12