2013-05-03 118 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文件,它似乎不能在