2013-05-03 122 views
9

我得到了一個外部樣式表(.css文件),它可能不會以任何方式改變。不過,我需要將此樣式表應用於單個div,並因此將我的現有網頁中的div的內容應用到該div。我正在將樣式表的內容作爲文本讀入需要影響的div內的空白樣式標記(使用.innerHTML),但這仍會影響整個網頁,而不僅僅是單個div。有人可以幫忙嗎?Div與外部樣式表?

+0

CSS影響到整個頁面。我知道隔離的唯一方法,以便它隻影響頁面的特定部分是使用IFRAME。 – 2013-05-03 10:40:54

+0

因此,我的div內的IFRAME?我可以做到這一點,但那麼我怎麼隻影響IFRAME呢? – LethalPapercut 2013-05-03 10:42:28

回答

9

iframe解決方案是這樣的:

在你的主HTML文件,你有你DIV:

<div id="myspecialdiv"> 
    <iframe width="100%" height="100%" frameborder="0" src="divcontent.html"></iframe> 
</div> 

風格,當你需要它。該divcontent.html文件應該是一個完整的HTML文件,包括DIV標籤的內容,並使用您的外部樣式表的鏈接:

<html> 
    <head> 
     <link rel="stylesheet" href="path/to/external/stylesheet.css" /> 
    </head> 
    <body> 
     <!-- The contents of your DIV --> 
    </body> 
</html> 
+0

說,我給了一些外部樣式表。如何在運行時將它們鏈接到divcontent.html?我正在忙於開發一個不斷獲得新的.css文件的Web應用程序 – LethalPapercut 2013-05-03 11:17:53

+0

這取決於您的運行時,您用來開發Web應用程序的語言,它所基於的框架以及應用程序的體系結構。但並不要求'divcontent.html'文件實際上是HTML文件 - 它可以是任何構造HTML的文件(例如:PHP,aspx等)。答案給你的概念 - 你必須適應你的具體要求。 – 2013-05-03 11:37:16

6

如果您可以使用HTML5,則可以嘗試使用scoped styles。你可以包括DIV中的CSS,讓它隻影響它的父:

<div> 
    <style scoped> 
     // Styles here 
    </style> 
</div> 
+0

看起來像一個驚人的解決方案,但它不符合我的需要,因爲任何主流瀏覽器都不支持scoped屬性。 – LethalPapercut 2013-05-03 10:52:17

+0

我想鏈接到外部CSS文件,它似乎不能在