2010-11-11 17 views
1

我正在爲動態網站創建一個自定義頁面,我想知道是否有阻止默認CSS(整個網站)的方式來影響我的自定義頁面。在我的自定義頁面上沒有任何地方可以調用默認的.css,但是我會鏈接到自定義的.css文件中,以查看我正在處理的特定頁面。一些.css是從我的CSS中拾取的,而其他部分則由現有網站的CSS進行更改。我不知道是否有某種方法可以確保頁面只回答一個.css頁面。我基本上想要阻止默認樣式表影響我的自定義頁面。我希望這不是太羅嗦和混淆的問題!謝謝!如何從拾取.css文件中阻止頁面?

+0

這是不足夠的信息。基於您告訴我們的,明顯的答案是「不要將CSS鏈接到您的自定義頁面上的現有網站」。如果「動態網站」的軟件是*自動*包括其他文件,那麼這個問題是特定於該軟件的,我們需要詳細的信息來確定它是否可行和如何。 – Chuck 2010-11-11 22:56:55

回答

0

你基本上有兩種選擇。一種方法是下載他們的默認CSS樣式表,製作它的副本,並且對於他們定義的每種樣式,將其重置爲值爲auto或任何適用於您網站設計的值。這將是非常單調乏味的,如果他們更新他們的樣式表不會工作,但應該工作。

另一個選擇是使用JavaScript來刪除樣式表與頁面的關聯。只要你想刪除的樣式表的URL保持不變,你應該可以做到這一點。快速谷歌搜索found the following code做到這一點:

function removejscssfile(filename, filetype){ 
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from 
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for 
var allsuspects=document.getElementsByTagName(targetelement) 
for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove 
    if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1) 
    allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild() 
} 
} 

removejscssfile("somestyle.css", "css") //remove all occurences "somestyle.css" on page 

從本質上講,這確實是它搜索任何樣式表的頁面,然後檢查他們的位置,如果它匹配要刪除什麼,刪除該樣式表。我發現的腳本也適用於JavaScript文件。

+0

非常感謝您的幫助!我會嘗試JavaScript代碼! – Ashley 2010-11-12 14:29:08