2012-02-18 53 views
1

我正在做一個代碼,在頁面中用jQuery做一些js注入代碼。但在我的輸入中,我在某些頁面中進行了修改,我將所有重要屬性並將它們定義爲!important,但不可能將所有屬性都放在所有標籤中。防止在一個div中的css交互

有人知道如何禁用div內的所有其他CSS?

解決方案我認爲: 我找到了一個解決方案,但我不想使用它。它消除了頁面的CSS人,而我使用的代碼後,注入代碼,我消除我的CSS和代碼,並從網頁應用的原代碼

感謝

+0

我們需要一些代碼,因爲坦率地說......我不知道你在說什麼。 – Purag 2012-02-18 05:50:10

+0

你想從css代碼?還是JS? – Edig 2012-02-18 06:02:07

回答

1

如果您覆蓋所有內容,它將在每個頁面上使用正常的CSS規則。不是你所希望的,但它是a解決方案。

CSS

#myInsertDiv { 
    color: blue; 
    padding: 0; 
    margin: 0; 
    background: white; 
    border: 0px; 
    /* etc you have to restyle EVERY possible value */ 
} 

HTML<div id="myInsertDiv"></div>

主要的問題是你要的風格屬性,並重置一切爲默認值。

或者您可以將所有樣式信息插入div上的style屬性,但這可能也是錯誤的。

+0

謝謝我觀察:S它會讓我分配時間謝謝 – Edig 2012-02-18 07:00:15

2

如果您正在使用的許多!important小號你這樣做是錯的。
這個問題的解決方案是正確組織你的CSS。最後一件重要的事情,因爲它覆蓋了以前的樣式。也明智地使用你的選擇器。例如:

<a class="link">Link</a> 

a:link { color: red; } 
. 
. 
. 
.link { color: green !important; } // Nop 

a.link { color: green; } // Yup 
+0

哦,是的,但它的問題,我沒有控制以前的風格,我注入的代碼在頁面,我不知道他們 – Edig 2012-02-18 06:01:30

+0

所以你調試的CSS與devtools或類似的東西? – elclanrs 2012-02-18 06:05:27

+0

是的,但它的複雜,因爲這是一個運行在書籤中的腳本。將它保存爲書籤並運行它。但是,如果您在google.com中運行它,Google會影響某些樣式。但如果你在Facebook上運行它會影響不同 – Edig 2012-02-18 06:09:46