2012-06-19 36 views
4

如果在我的网页,我有一个div如何在内联和内部调用外部CSS?

  1. 在线
  2. 内部
  3. 外部定义的所有三个CSS

我知道,浏览器会先查找1)内联则2)内部和最后,它寻找外部的CSS。

但我只想调用外部的CSS,它将如何做?我可以通过!important来完成吗?还是有其他方法?

+0

是的,你可以使用!重要的 –

+1

所以,你想克服所有定义的外部CSS样式,那么为什么不要删除内联的CSS – 2012-06-19 06:23:23

+0

有时你实际上需要声明一些样式属性内联。通常你使用外部CSS声明通用规则,并且有时候需要展开/覆盖规则[通过内联声明],因此原始声明完好无损。根据我的经验,我在测试阶段使用内联css,立即看到效果,当我满意时,我将样式转移到外部样式表中。 –

回答

2

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

div { padding: 5px; } 

然后没有以下内联样式。

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

只要把它放到CSS文件

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

就像你说的,你可以使用!important如果你覆盖只是一个页面样式并不适用于其他您网站中的网页。

+0

为了不覆盖设置[使用内联样式]是用户的选择[取决于动机]。例如,我在测试阶段覆盖我的声明,立即看到效果,并从那里决定是否更新我的外部CSS或在html中留下内联样式。在某些情况下,我使用内联来扩展声明,然后在外部传递扩展的规则。 –

+0

它完全正确的测试,但正如你所说,一旦html被清理,你应该将它移动到外部的css文件。这确实是一件让事情变得干净和可读的努力。否则,你最终会在整个网站的整个生命周期内积累内联样式。 –

+0

是的,当然,为了清晰的代码和可维护性,这应该是所有开发人员的纪律,不幸的是,大多数人都懒得清理。 –

1

1)内联然后2)内部和最后一个,它寻找外部的CSS。

没有。<style>包含的CSS与<link>包含的CSS之间的优先级没有差别。

但我只想调用外部的CSS,它将如何做?

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

我可以通过!重要或有任何其他方式吗?

您可以应用!important每一个规则,然后希望包括没有规则通过<style>style也有!important ......但出路在于疯狂。

3

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

  1. 特异性
  2. 声明顺序

内联样式是最具体,那么身份规则(#),则类规则,那么,元件规则()。

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

规避优先级的唯一方法是使用!important