8

在 DIV 中,我放置了一些从数据库加载的文本/html 代码。此文本有时包含字体大小定义(例如:font size="3")。有没有办法使用 CSS 在这个特定的 DIV 中覆盖这个字体大小。

我很感激任何帮助。

4

4 回答 4

11

假设标记类似于以下内容:

<div>
    <font size="1">Some text at 'size="1"'</font> and natively-sized text, with more at <font size="26">'size="26".'</font>
</div>​

然后你可以显式地指示 CSSinherit来自font-size父元素:

div {
    font-size: 1.5em;
}
div font {
    font-size: inherit;
}

JS 小提琴演示

请注意,当然,这font是不推荐使用的,因此不应使用(因为对元素的支持可能会在没有通知的情况下停止,和/或实现会在没有警告的情况下更改)。

顺便说一句,虽然!important将强制声明覆盖通常的级联样式,但它需要大锤才能破解;并且,如果可以避免(在这种情况下,似乎可以避免)它应该是,因为它使以后的样式调试和相关的继承问题变得复杂。

此外,这是治疗您的问题的症状;您真正面临的问题是font您的内容/数据库中存在标签。这应该通过删除元素并用适当样式的元素替换它们来纠正,例如emspan等等......

参考:

于 2012-06-15T19:25:00.007 回答
6

使用CSS !important表示法,您告诉浏览器覆盖您定义的任何字体大小div

从上面的链接中可以看到:

但是,为了平衡,“!important”声明(定界符“!”和关键字“important”跟随声明)优先于普通声明。

例子

请参阅此工作小提琴示例!

.htmlContents * {font-size:10px!important;}

<div class="htmlContents">my database html content</div>
于 2012-06-15T19:27:50.960 回答
0

一个想法:给这些文本标签一个 id 或 class,然后使用 JavaScript 查找这些元素并更改它们的样式。

于 2012-06-15T19:22:50.880 回答
0

在插入 div 之前从文本中剥离“字体”标签怎么样?然后只需使用字体大小设置 div 的样式。

于 2012-06-15T19:30:47.593 回答