如何强制样式格式化为<p> </p>的子标记

时间:2014-03-09 11:27:52

标签: css

我的主要HTML格式由

控制
<P> 

标签

我的应用程序是动态构建的HTML,使用存储在数据库中的HTML片段,文本块封装在

标签中,从而为

选择默认的CSS样式标签。然而,有时错误的额外标签会像标签一样插入,否则会否定

样式。问题是这些额外的标签可能是任何东西,因此很难为每个场景构建规则。所以我需要的是一个CSS规则,它将应用于其中的任何文本,而不管其他存在的标记。

正常情况:

<style>
p {font-family:arial}
</style>

<p>this would render as arial</p>

<p><span>problems here</span></p>

<p><span style="font-family:calibri">problems here definitely, need to have paragraph rules imposed here ie overrule span font rule</span></p>

所以我想知道如何让段落CSS规则否决所有子标记css规则。

可能的?

提前致谢。

3 个答案:

答案 0 :(得分:1)

/* Any tag inside p */
p * {
    font-family: Arial !important;
}

如果你知道特定的标签,比如span,那么

p span {
    font-family: Arial !important;
}

答案 1 :(得分:1)

inheritvalue reference
Test page

这样做的好处是它将继承由父元素设置的任何字体属性,从而p。只有当内联样式能够覆盖它时才需要!important。

所有属性

p * {
  font: inherit !important;
}

或者特别是一个属性

p * {
  font-family: inherit !important;
}

答案 2 :(得分:0)

试试这个;

p {
    font-family: arial;
}

p * {
    font-family: inherit !important;
}

jsFiddle

注意:IE 7或次要版本不支持inherit