由jQuery load()加载的内容适应父页面的CSS样式

时间:2013-08-30 11:48:43

标签: jquery

我已经尝试了一段时间,我不知道这是否是我的搜索技巧,如果之前没有人问过这个问题,或者是否有可能。

目前我正在使用.load('path/to/file.php');加载文件,但我加载的文件会从加载到的网站继承所有样式。

是否可以加载文件而不从其加载的网站调整样式?

.load() api中没有选项可以提及这个问题,而且我认为在大多数情况下这不是一个问题。我的选择是重新声明包含文件的每个样式元素,这是一项重要任务,对于这种情况似乎没有必要。

2 个答案:

答案 0 :(得分:1)

您的问题可能很容易解决。将内容加载到iframe中,我认为这会将其与CSS样式的页面其他部分隔离开来。

阅读以下内容:How to apply CSS to iframe?

大多数人都有相反的问题,他们希望将父样式应用于iframe内的内容,并且您希望执行相反的操作。

在这种情况下,您可能不需要使用AJAX或jQuery load(),只需使用src中的iframe属性链接到您的文件。

<强>注释

这里有一个嵌入内容的案例,在iframe标记部分的HTML5规范中对此进行了讨论。在此应用程序中使用ifrmae标记是非常合适的。

参考:http://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element

答案 1 :(得分:1)

CSS将始终应用于整个页面(当然,根据选择器)。做你要求的唯一方法是使用iframe来加载ajax页面,这样它将是独立的。

COULD的另一种工作方式是重置容器中的整个CSS定义,但这很容易出错。