2011-11-08 40 views
2

为什么CSS声明不会在浏览器中显示?为什么不显示这个CSS声明?

这里是我的CSS文件的样本:

.adv { 
color:#47463D; 
} 

.earnings { 
color:#B4FF00; 
} 

当我做<font class=adv>hello</font>,它的工作原理治疗。

当我做<font class=earnings>hello</font>时,指定的.earnings的颜色不显示在浏览器中。

页面链接到正确的CSS文件。

+1

你忘了;在收益类的颜色定义的末尾。更何况你正在使用这是不正确的,要么。 – MRR0GERS

+0

1.'font'标记已被弃用,因为像html4一样。 2.正确关闭你的标签 - 你打开'font'而不是关闭'a'。 – Litek

+0

你有一个开放的FONT标签和一个关闭的A标签。我有一个预感,你有非常无效的HTML,这是没有帮助。 –

回答

4

有机会在您的网页上某个地方,您的样式的特异性取代.earnings(请参阅this page)。 CSS通过体重秤应用,因此具有较高权重(计算出的特异性)的任何内容都优先于您认为可应用的内容。

要做的最好的事情是使用像Firebug(Firefox扩展)或Chrome的检查员,看看真的是应用。


Example(而且,顺便说一句,CSS order is irrelevant

<style> 
    /* what you think is applied */ 
    .foo { color: red; } 

    /* What is being applied due to specificity */ 
    #bar .foo { color: green; } 
</style> 

<span class="foo">.foo</span> <!-- color is red --> 

<div id="bar"> 
    <span class="foo">#bar .foo</span> <!-- color is actually green --> 
</div> 
1

在您的颜色行后添加一个分号。

.adv { 
color:#47463D; 
} 

.earnings { 
color:#B4FF00; 
} 

此外,你应该在HTML使用双引号的班左右,相匹配的结束标记沿:

<font class="earnings">hello</font> 

你的第二个字体标签是越来越解析为您的第一个内,并没有表现出向上。

+1

而分号是一个好习惯,在最后一个样式属性后不需要 –

+3

HTML中的双引号不是必需的。如果属性值完全由非空白字符组成,则忽略它们不会造成伤害。 –

+0

尽管引用某种形式的引用是很好的做法。 – jli

2

确保使用引号括住参数值。你还需要确保你的标签匹配

<a class="adv">hello</a> 
<font class="earnings">hello</font> 

最后,如果你在你需要把分号各一个.earnings有多个CSS参数。

+2

您只需要引用xhtml –

+0

确实如此,但使用某些浏览器可以帮助减少问题。特别是如果你的属性中有空格(即多个类)。 – jtfairbank

+0

是不是最终分号技术上可选? – philipd

0

随着firebug,使用元素检查(因为我不记得分号和引号是强制性的类属性)并试图了解其他选择者是如何参与课堂“收入”的。

你能举一个jsfiddle你的问题的例子吗?

1

我不知道,如果你打算关闭字体标签与标签,但下面的代码工作得很好:

<html> 
    <head> 
    <title>CSS Color Example</title> 
    <style type="text/css"> 
     .adv {color:red;} 
     .earnings {color:red;} 
    </style> 
    </head> 
    <body> 
    <div class=adv>hello</div> 
    <div class=earnings>hello</div> 
    </body> 
</html> 
2

在CSS声明中的最后一个分号是可选的,所以这不是你的问题。

很可能您会应用其他具有更高优先级的样式。CSS优先规则可能有点奇怪;最常见的障碍的一点是,高度特异性的声明优先于随后的声明不那么特定

从HTMLdog.com实施例:

div p { color: red; } 
    p { color: blue; } 

使用该样式表,一个div内的任何p个元素将被涂成红色,而不是蓝色。

我真的建议你做的是为你的浏览器(例如Firefox上的Firebug)获得一个体面的开发工具插件,并浏览样式跟踪;它会告诉你什么被覆盖,以及什么。