`
davinci_2012
  • 浏览: 13634 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

CSS 各种方式的优先级问题

阅读更多
  上面的4个小节分别介绍了CSS控制页面的4种不同方法,各种方法都有其自身的特点。这4种方法如果同时运用到同一个HTML文件的同一个标记上,就会出现优先级的问题。如果在各种方法中设置的属性不一样,例如内嵌式设置字体为宋体,行内式设置颜色为红色,那么显示结果会让二者同时生效,为宋体红色字。但当各种方法同时设置一个属性时,例如都设置字体的颜色,情况就会比较复杂,如下所示。

  首先创建两个CSS文件,其中第一个命名为red.css,其内容为:

p {
  color:red;
}


  第2个命名为green.css,其内容为:

p {
  color:green;
}


  这两个CSS的作用分别将文本段落文字的颜色设置为红色和绿色,接着创建一个HTML文件,代码如下:

<html>
<head>
<title>页面标题</title>
<style type="text/css">
p{
  color:blue;
}
@import url(red.css);
</style>

</head>
<body>
  <p style="color:gray;">观察文字的颜色</p>
</body>
</html>


  从代码中可以看到,在内嵌式的样式规则中,将p段落文字的颜色设置为蓝色,而行内样式又将p段落文字的颜色设置为灰色。此外,通过导入的方式引入了red.css,这将文字颜色设置为红色,那么这时这个段落文字到底会显示为什么颜色呢?在浏览器中的效果如下图所示。



  可以看到,结果是灰色,即以行内样式为准的。接下来,将行内样式代码删除,再次在浏览器观察,可以看到效果如下图所示。



  可以看到,结果是蓝色,即以嵌入样式为准。接着把嵌入的代码删除,仅保留导入的命令,这时在浏览器中将看到红色的文字。从而说明,在行内、嵌入和导入这3种方式之间的优先级关系是:

行内式 > 嵌入式 > 导入式


  接下来,在代码中增加链接方式引入的CSS文件,分别尝试如下两种情况。

  情况1:

<head>
<style type="text/css">
@import url(red.css);
</style>
<link href="green.css" type="text/css" rel="stylesheet">
</head>


  情况2:

<head>
<link href="green.css" type="text/css" rel="stylesheet">
<style type="text/css">
@import url(red.css);
</style>
</head>


  这两种情况的区别在于哪种方式的样式表放在前面。经过尝试可以发现,谁放在后面就以谁为准。

  因此,结合前面的结论,如果我们把导入式和链接式统称为外部样式,那么优先级规则应该写为:

  (1)行内式 > 嵌入式 > 外部样式;
  (2)外部样式中,出现在后面的优先级高于出现在前面的。

  此次,这个规则已经比较完善了,然而还没有结束。现在如果将<head>部分的代码为:

<head>
<style type="text/css">
p {color:blue;}
</style>
<style type="text/css">
@import url(red.css);
</style>
</head>


  将导入式的命令和嵌入式的样式放在两个<style>中,这时在浏览器中的效果,文字会显示为红色,这就说明这时将不再遵循嵌入式优先于导入式的规则了。再例如对于如下代码:

<head>
<style type="text/css">
p {color:blue;}
</style>
<link href="green.css" type="text/css" rel="stylesheet">
<style type="text/css">
@import url(red.css);
</style>
</head>


  这说明优先级最高的是最后面的导入式,其次是链接式,最后才是嵌入式。因此,如果在<head>中存在多个<style>标记,那么这些<style>标记和链接式之间将由先后顺序决定优先级,而在同一个<style>内部,才会遵循嵌入式优先于导入式的规则。

  虽然各种CSS样式加入页面的方式有先后的优先级,但在建设网站时,最好只使用其中的1-2种,这样既有利于后期的维护和管理,也不会出现各种样式“冲突”的情况,便于设计者理顺设计的整体思路。

转载地址:http://www.xuekaifa.com/article/20110210/000417.html
分享到:
评论

相关推荐

    css样式应用优先级实用PPT课件.pptx

    CSS 样式应用优先级详解 CSS 样式应用优先级是指在CSS样式规则应用时的顺序和优先级。该优先级规则决定了哪些样式规则将被应用于HTML元素。下面是CSS样式应用优先级的详细解释: 1. 重要声明(!important) 重要...

    css优先级总结

    了解并掌握CSS优先级对于解决样式冲突问题至关重要。 ##### 1. 大小写不敏感性 CSS属性名和值不区分大小写。例如,`color:red;` 和 `COLOR:RED;` 是完全相同的。然而,在实际开发中,通常建议使用一致的大小写风格...

    css样式优先级比较实例

    在CSS(层叠样式表)中,样式优先级是一个关键概念,它决定了浏览器如何解析和应用不同的CSS规则来渲染网页元素。本实例将深入探讨CSS样式的优先级比较,帮助你更好地理解和控制页面的视觉呈现。 首先,我们需要...

    HTML5&CSS3网页制作:CSS优先级.pptx

    在多个CSS规则应用于同一元素时,理解CSS优先级至关重要,因为它决定了哪个样式会生效。这个概念对于创建美观且功能完备的网页至关重要。 首先,我们来探讨CSS优先级的基本原则: 1. 继承性:当一个元素没有明确的...

    使用DIV+CSS做网站时CSS样式的优先级

    但是,在使用 CSS 样式时,不能忽视 CSS 样式的优先级问题。 CSS 样式的优先级是指在多个样式规则同时作用于同一个元素时,浏览器如何决定采用哪一个样式规则。一般来说,CSS 样式的优先级顺序是:[1 位重要标志位]...

    css的导入方式以及优先级 测试

    理解并熟练运用这些CSS导入方式和优先级,能够帮助开发者更有效地控制网页的视觉呈现,同时避免样式冲突问题。在实际项目中,通常推荐使用外部样式表,以实现代码的模块化和复用,同时保持良好的优先级结构。

    css样式的优先级详解(本人整理过的,做过笔记)

    最权威的CSS样式优先级,本人整理过的,做过笔记。

    css样式应用优先级实用PPT学习教案.pptx

    在处理CSS冲突时,理解这个优先级规则至关重要。以下是对PPT内容的详细解释: 1. **重要声明 (!important)**: `!important` 关键字可以提升某个样式的优先级,使其在任何情况下都被应用。例如,即使后面有同样属性...

    CSS优先级总结.pdf

    CSS优先级总结 CSS优先级总结是一个非常重要的知识点,它决定了CSS样式的应用顺序和优先级。在CSS中,优先级是指样式规则的应用顺序,高优先级的样式规则将覆盖低优先级的样式规则。 在CSS中,有多种选择器可以...

    关于CSS选择器优先级的判断题附结果截图

    在CSS(层叠样式表)中,选择器的优先级是决定哪些样式将应用于元素的重要因素。当多个选择器都尝试设置同一个属性时,优先级较高的规则会覆盖优先级较低的规则。理解CSS选择器优先级是编写高效、可维护CSS代码的...

    CSS 控制页面样式的4种方式和优先级问题

    "CSS 控制页面样式的4种方式和优先级问题" CSS 控制页面样式的四种方式是指在 HTML 页面中应用 CSS 样式的四种方法,它们分别是行内方式、内嵌方式、链接方式和导入方式。这些方式的应用可以使得页面样式变得丰富...

    CSS 优先级 详细分析

    CSS优先级是网页设计中一个至关重要的概念,它决定了浏览器如何解析和应用样式规则,从而影响页面元素的呈现。在深入探讨优先级之前,我们先简单回顾一下CSS的基础。CSS,全称为层叠样式表(Cascading Style Sheets...

    CSS标签选择器优先级.pdf

    CSS选择器优先级详解 CSS选择器优先级是CSS样式表中一个非常重要的概念,它决定了CSS样式的应用顺序和优先级。本文将详细介绍CSS选择器优先级的四大原则,以及它们之间的关系和应用。 原则一:继承不如指定 如果...

    CSS中选择器优先级顺序实战讲解.pdf

    本文将详细解析CSS选择器优先级的实战应用,帮助开发者理解并解决样式覆盖的问题。 首先,我们要了解CSS选择器的四种基本类型,它们的优先级顺序如下: 1. **行内样式 (inline styles)**:这是最高优先级,通过`...

    CSS优先级冲突:终极解决指南

    本文将深入探讨CSS优先级冲突的原因、识别方法、解决策略,并提供实际应用示例,帮助读者更好地理解和处理这一问题。 #### 一、CSS优先级概述 CSS优先级是指在多个样式规则同时应用于同一元素时,决定哪一个规则会...

    css优先级98908u0

    ### CSS优先级与!important属性详解 #### CSS优先级的基本规则 在CSS中,样式表的优先级决定了元素最终采用哪一套样式。理解CSS优先级的基本规则对于开发人员来说至关重要,尤其是在处理复杂的页面布局时。 1. **...

    CSS 优先级问题详解

    那么应该如何处理 CSS 优先级问题呢,下面我总结了一些解决 CSS 优先级问题的常用法则。 样式距离 我们可以通过使用外部样式、内部样式、内联样式等方法给元素添加指定的样式,此时的优先级是: 外部样式 &lt; 内部...

    CSS选择器权重计算及优先级

    以下是关于CSS选择器权重计算及优先级的详细解释: 首先,我们要了解CSS选择器的四个等级及其对应权重: 1. **内联样式**(权重1000):这是最高级别的权重,当直接在HTML元素中使用`style`属性定义样式时,例如`;...

    CSS教程:优先级问题的考虑实例

    本教程将深入探讨CSS优先级的问题,帮助你理解和解决实际开发中可能出现的冲突。 首先,我们需要了解CSS规则的层次结构。在默认情况下,后定义的规则会覆盖之前定义的同级规则。例如,如果你为`&lt;p&gt;`元素设置了两个...

Global site tag (gtag.js) - Google Analytics