如何让CSS文件只影响HTML的一部分

时间:2009-06-17 09:43:31

标签: html css

我有一个外部CSS文件(我根本无法更改)我需要在我的HTML文件中使用,但我希望CSS只影响我的HTML部分。 (例如<div id="externally_styled"></div>

中的所有内容

如果不更改CSS文件(CSS文件也包含影响身体标签的一般样式等),这又怎么可能呢?

8 个答案:

答案 0 :(得分:4)

您可能必须使用iframe一个页面,其中只包含您想要设置样式的HTML以及对样式表的引用。这意味着一般样式不会应用于包含页面,但听起来就像你想要的那样。

答案 1 :(得分:1)

附加到标记的任何类或样式声明都将覆盖CSS文件中的声明。

只需将自己的样式声明添加到标记:

<div style="<your own declarations>">
...
</div>

答案 2 :(得分:1)

您可以覆盖不希望应用于HTML文档的常规样式。如果CSS不那么广泛,这可能是一个好主意。

覆盖样式的方法是使用关键字important!

e.g:

原始样式表:

body {
    color: #000000;
}

你的样式表:

body {
    color: #CCCCCC !important;
}

您可以找到更多信息here

答案 3 :(得分:1)

我猜任何客户端解决方案都会变得混乱。

您是否可以使用服务器端解决方案来吸收外部CSS文件并在每个规则的开头附加一个类选择器?我相信这对于正则表达式来说很容易。

答案 4 :(得分:0)

让人想到的一种方法是让HTML的“待设计样式”部分存在于一个完全独立的文件中,然后通过使用外部文件中的CSS的iframe将其拉入。

答案 5 :(得分:0)

我唯一能想到的就是将你的DIV中的内容重新呈现给iframe。

答案 6 :(得分:0)

使用您为特定部分创建的类的类名,或使用正确的父子关系css,只有当它属于父子关系时才会呈现。

答案 7 :(得分:0)

您可以在css代码中使用“!important”强制执行样式。

看看这个例子。 http://www.craiglotter.co.za/2010/01/21/important-css-how-to-force-one-style-above-another/