2011-04-14 123 views
3

我的谷歌瀏覽器擴展需要在頁面上包裝某些元素的內容用戶正在瀏覽自定義元素,例如<xelem>original content</xelem>。這種改變不應該產生任何可見的效果。使元素不受CSS規則的影響

是否有可能使<xelem>不受* css規則(或任何其他適用於它的規則)的影響,但同時保留繼承的樣式?

+1

密切相關:[嗎?CSS佈局中性標籤(http://stackoverflow.com/questions/1751765/layout-neutral-標籤爲css) – 2011-04-14 17:38:38

+0

這句話'是否有可能使不受可能適用於它的任何規則的影響,但同時保留繼承父類型'這聽起來像對我來說是矛盾的。你能否提供一些例子? – serg 2011-04-14 17:41:03

+0

@serg:在Chrome中檢查元素(任何元素)。在「樣式」選項卡中,您會看到「匹配的CSS規則」和下面的一系列「Inhereted from ...」。我希望前者在保留後者的同時不申請。 – artemave 2011-04-14 18:09:52

回答

0

考慮到您正在使用css3,請查看:not僞類。

喜歡的東西

:not(xelem) { 
    /* ... */ 
} 

應該工作...

+0

我不明白它在這種情況下如何適用。你能詳細說明嗎? – artemave 2011-04-14 19:07:00

+0

那麼這是我知道從定義的適用css規則中排除標籤的唯一方法。對''''''css應用':not()'可能適用於''應該從您的定義中排除''封裝的元素。我從來沒有聽說過任何全球性的非CSS影響的標籤......這將與已知的CSS選擇器方案和級聯原理相矛盾。我誤解了你的問題嗎? – proximus 2011-04-14 19:24:03

+0

訣竅是如何在我不控制的頁面上將'*'更改爲':not(xelem)'。 – artemave 2011-04-15 13:47:43