CSS优先,内联还是类?

时间:2011-07-19 15:17:26

标签: css

我的网站在标题中定义了样式表作为style.css,带有选择器:

.myClass {background:#000;}

现在我的div看起来像:

<div class="myClass" style="background:#fff;"> &nbsp; </div>

哪一个有优先级,内联或类?

4 个答案:

答案 0 :(得分:20)

CSS的优先顺序如下:

  1. !important (虽然这有点过时但是它是覆盖内联样式的唯一方法。除非确实需要,否则尽量避免使用它。)示例:p {color:blue!important; }
  2. 内嵌,例如<p class="redText" style="color: red;">CSS is awesome</p>。在此示例中,如果redText类声明已尝试定义color:的属性,则会忽略该类。其他属性仍然可以兑现。
  3. 内部样式 - 写在html页面的<head><style>部分内的样式。
  4. 外部样式表定义样式。您的html文档必须具有指向此工作表的链接才能使用它。示例,再次在<head>部分内:<link rel="stylesheet" type="text/css" href="mystyle.css" />
  5. 点击此处查看术语:http://www.w3schools.com/css/css_syntax.asp

答案 1 :(得分:17)

一般来说,我们可以说所有样式都会按照以下规则“级联”成新的“虚拟”样式表,其中第四个具有最高优先级:

1.Browser默认 2.外部样式表 3.内部样式表(在头部) 4.Inline样式(在HTML元素内)

来源:w3schools

W3schools解释了很多关于CSS的内容,并且还介绍了可以用CSS做的大多数事情的例子。如果您对某些事情有疑问,请始终保持良好的资源。

答案 2 :(得分:3)

CSS的优先顺序如下:

  1. 内嵌,例如<div id="orange" class="green" style="color: red;">This is red</div>。在此示例中,如果class类声明已尝试定义颜色属性,则忽略green 。如果试图定义颜色,也会忽略id
  2. Id选择器,例如#orange { color: orange; }
  3. 类选择器,例如.green { color: green; }
  4. 元素选择器,例如div { color: black; }
  5. Mozilla开发人员网络文档有关于Says

    的文档
      

    当多个规则适用于某个元素时,所选择的规则取决于其样式specificity内联样式(在HTML样式属性中)具有最高的特异性,将覆盖任何选择器,然后是 ID选择器,然后是类选择器,最终元素选择器

    因此下面的文字颜色为红色。

      div { color: black; }
       #orange { color: orange; }
       .green { color: green; }
      
     
    <div id="orange" class="green" style="color: red;">This is red</div>

    请参阅MDN了解任何HTML,CSS或JavaScript知识,w3school在开发者社区中没有很好的声誉。有关此事项的更多信息,请访问w3fools

答案 3 :(得分:0)

没有3.Internal或4.External优先级。 html页面中最后的哪个样式表将获得优先级。 例如。

<style></style>
<link> </link> <!-- Precedence -->


<link> </link> 
<style></style> <!-- Precedence -->