如何使用CSS </font>覆盖HTML <font size =“2”>

时间:2010-03-17 20:32:44

标签: javascript css

我被赋予了对我们当前网站进行整容的任务。我对CSS非常熟悉,因此我将bazillion标签转换为CSS样式,并删除大约2倍于那些根本不需要的样式。

在我遇到某个产品页面之前一切顺利,这个产品页面只是一个包装器,其中的其他HTML文件由server.execute(filename)命令提取。 (我们在包装页面使用aspx。)

这些页面中有近700个,他们都被这个和那个诅咒。过去使用FrontPage的编辑只知道如何在屏幕上拖动漂亮的东西。

无论如何,我想知道是否有一种方法可以在包装页面中使用CSS来覆盖标签行为,这样我就可以使它符合我的其他页面。我甚至会接受一些可以删除标签的JavaScript,但这是我不太喜欢的解决方案。谢谢!

5 个答案:

答案 0 :(得分:14)

font[size="2"] {
   property: value !important;
   ...
}

属性值之后的!important是您正在寻找的。

答案 1 :(得分:6)

您可以使用CSS attribute selector来匹配字体标记:

font[size="2"] {
    font-size: 12px;
    font-weight: bold;
}

答案 2 :(得分:4)

对于这种情况,可以进行简单的重置,例如

font {
    font-size: 100%;
}

答案 3 :(得分:0)

如果可以 - 这意味着如果你可以忽略IE6 - 使用CSS方法Eli Gray和James Goodwin建议。

更简洁但更乏味的方法是进行智能搜索+替换将所有<font size='2'>更改为<span class='size_2'>或其他内容。它可以让你摆脱糟糕的代码,并在所有浏览器中工作。

答案 4 :(得分:0)

由于Internet Explorer忽略!important规则,您可以尝试使用以下Javascript方法(使用jQuery)将所有FONT元素替换为SPAN并使用适当的样式表来应用格式。

$('font').each(function(){
  var fontFree = $('span');
  fontFree.append($(this).contents());
  fontFree.addClass('size_'+$(this).attr('size'))
  $(this).replaceWith(fontFree);
});