覆盖css文件中的定义

fly*_*ire 2 html css

我有一个css文件,它定义了所有<p>标签的样式.

像这样

 p { ......... }
Run Code Online (Sandbox Code Playgroud)

如何在包含默认样式的样式表的页面中编写<p>

ans*_*ung 6

没有简单的方法可以做到这一点.

虽然有一些常见的技巧可以模拟这种行为.最好的使用方式取决于被覆盖区域的复杂程度,以及您想要执行此操作的频率.

方法1(用于简单覆盖):

在语句中添加一个额外的类定义,类似于清除默认样式的类定义(如http://www.wordpress.darfuria.com/blog/clear-css-defaults中讨论的那样).您可能需要仔细安排声明,以防止"正常"样式优先.

.override {/*Your default style overrides, color: white;
 margin: 0; background:none; etc */}


<p class="override">foo</p>
Run Code Online (Sandbox Code Playgroud)

方法2(笨重但对复杂区域有益):

使用iframe从您网站上其他位置托管的单独.html文件中提取整个区域.iframe内的内容尊重框架内页面的CSS,通常忽略周围页面的CSS.

方法3(适用于一次性覆盖):

使用内联样式,如其他人在此处所述.

编辑: 不是真正的方法,但可能是最正确的方法

也许不是你想听到的

重新思考你如何安排你的课程.

例如:

如果重写<p>在某种程度上是特殊的,它可能值得它自己的类描述它的目的是什么.<p class='override'>不会帮助那些在你完成之后会看你的设计的人,因为它没有告诉他们被覆盖的文本是什么或为什么它的样式.

覆盖是否来自特定区域?如果是这样,他们的样式定义div.left_nav p {/*styles*/}可能更合适.

最后,您的默认<p>样式是不是真的默认?也许一个更松散指定的p样式可能是有序的,稍后会有附加p.foop.bar定义.

这并不能解决您的问题,但在开始下一个项目之前可能值得一试.