4

如果在我的网页中,我为 div 定义了所有三个 css

  1. 排队
  2. 内部的
  3. 外部的

我知道浏览器首先寻找 1) 内联然后寻找 2) 内部和最后,它寻找外部 css。

但我只想调用外部css,怎么做??我可以通过!important还是有其他方法?

4

3 回答 3

3

内部样式表和外部样式表没有区别。应用哪些样式取决于:

  1. 特异性
  2. 申报单

内联样式是最具体的,然后是标识规则 (#),然后是类规则 (.),然后是元素规则。

对于具有相同特性的两个规则,例如div .mainspan.title,这两个规则都适用,但是当它们指定相同的属性时,最后声明的一个将接管。

绕过优先级的唯一方法是使用!important.

于 2012-06-19T06:29:34.280 回答
2

最好的办法是将所有内容放入外部 css 文件中。如果您必须具有内联样式,请确保您只有那些尚未在外部样式表中定义的样式。即不要复制/覆盖样式。例如,如果您的 css 文件中有以下内容:

div { padding: 5px; }

然后没有以下内联样式。

<div style="padding-right:2px;" />

把它放到css文件中

div { padding: 5px 2px 5px 5px; }

就像您说的那样,!important如果您必须为一个页面覆盖不适用于您网站中其他页面的样式,则可以使用。

于 2012-06-19T06:37:54.100 回答
1

1)内联然后 2)内部和最后,它寻找外部 css。

<style>不会。包含的CSS 和 包含的CSS 在优先级上没有区别<link>

但我只想调用外部css,怎么做??

您不能导致通过属性<style>包含的 CSS 或通过style属性包含的 CSS 被忽略。

我可以通过 !important 还是有其他方法?

您可以适用!important于每条规则,然后希望没有任何规则包含<style>style也包含!important……但那样就是疯狂。

于 2012-06-19T06:24:14.967 回答