如何覆盖全局样式表

时间:2008-10-08 04:10:42

标签: html css stylesheet

简而言之,有一个全局样式表:

a { font-family: Arial; }

我想为特定链接使用不同的字体系列:

<a href="..." style="font-family: Helvetica;">...</a>

<span style="font-family: Helvetica;"><a href="...">...</a></span>

但没有任何作用。有一个简单的方法吗?

P.S。我是动态的(通过PHP)为不同的链接分配不同的字体,因此创建一个特殊的类不是一个选项。

4 个答案:

答案 0 :(得分:12)

除非你有一个名为Helvetica的特定字体,否则你应该意识到在某些平台上(例如Windows,通过FontSubstitutes),Helvetica的别名是Arial。这可能是问题的根源。尝试其他字体并查看。

答案 1 :(得分:6)

您的第一次尝试

  <a href="..." style="font-family: Helvetica;">...</a>

应该有效。同意你可能错过了一种字体。内联样式优先于用户定义样式表旁边的任何其他样式。以下是样式定义的优先顺序:

  1. 用户定义的样式
  2. 嵌入式或内联样式表
  3. 内部样式表
  4. 外部样式表
  5. 浏览器默认样式
  6. 在样式表中,优先级如下:

    1. 任何标记的内容!important
    2. ID

    3. 的.class
    4. 元素
    5. 此外,您还具有更高的特异性规则:div a会覆盖a

      这是a good article with more detail on the subject

      @Kip的建议是你最好的选择。

答案 2 :(得分:5)

你所写的内容应该有效,除非问题是克里斯指出的,

当你得到一对正常工作的字体时,你可能会认为更好的方法是为特殊链接声明一个类,以某种方式提醒自己为什么他们需要一个单独的字体(也许是因为你想要特别注意它们?)

a { font-family: Arial; }
a .noticed { font-family: Helvetica; }

然后在HTML中:

<a class="noticed" href="...">...</a>

通过在链接周围创建一个span标记来更改字体,或者为链接添加内联样式,这只是<font>标记的旧时代。

答案 3 :(得分:1)

元素样式覆盖全局样式,所以Chris Jester-Young可能是正确的,你实际上并没有Helvetica字体;尝试不同的字体,例如您确定存在的Courier或Times New Roman