真正的嵌套CSS? (不是选择器)

时间:2010-08-06 16:36:12

标签: css

我是第一次发表海报。一个问题。如何制作仅在一个DIV内工作的css声明,但不覆盖全局css?我想jQuery将页面加载到DIV中,但是,页面的CSS改变了我自己网站的CSS。我不希望这样。此外,我不能只取出CSS,因为我希望它们从源头看起来像预期的那样。

基本上我们将加载外部HTML,其CSS样式仅在本地应用,而不会改变其他地方的样式。外部HTML没有使用内联CSS,因为我们无法控制它。它们适用于类值或甚至所有元素类型。我们不希望他们的CSS声明在DIV容器之外修改我们自己的现有CSS。

这甚至可能吗? 谢谢?

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题是正确的,你会在div <div id="mystyle"> content </div>中放置一个id。在CSS中,您可以编写#mystyle p { color:red; }。这对“mystyle”div之外的全局段落没有影响。

答案 1 :(得分:0)

我猜你问的是如何将外部样式表应用于一个div。使用CSS无法做到这一点。您可能能够使用JavaScript来模拟它,但这需要相当多的工作。以下是您可能会如何做的概述:

  1. 从加载的HTML中获取样式表文件名,然后通过AJAX获取CSS文件的内容。
  2. 以某种方式解析CSS并将div ID添加到每个CSS规则前面,以便它仅适用于div
  3. 将已修改的样式表作为内联文本注入已加载的HTML。
  4. 步骤1和3相对简单,第2步需要用JavaScript编写的CSS解析器。 (似乎只有一个available here,但没有文档。)