原文:CSS中选择器优先级顺序实战讲解

我们有些程序猿在给一个元素(比如div)应用样式的时候,会有一些疑问,为什么我写在后面的样式不能覆盖前面的样式呢,不是说CSS是层叠样式表吗?
如果你在开发中也遇到同样的问题,即在给某一元素应用样式的时候(比如写在外部样式表中),写在后面的样式不能覆盖前面定义的样式。这个时候,你可能就得考虑是不是没考虑优先级问题了。
当我们在给一个标签,比如div应用样式的时候,我们得考虑优先级问题。
下面列出的就是是选择器的优先级:
行内样式 > ID选择器样式 > 类别选择器样式 > 标记选择器样式
标记选择器好比一个更广泛的概念,然后到类别选择器,到ID选择器,最后到行内样式,不断的精确下去,所以越精确,优先级越高。比如下面的盒子模型:
我是标记选择器 div
我是类别选择器 .container
我是ID选择器 #article
我是行内样式 style
下面我对上面这些优先级分别作一下证明:
比如页面中有一个div标签,它有相应的id和class属性,如下所示
<div id=”article”>itdriver.cn</div>
现在我们先给它应用行内样式。
行内样式 : 也即直接应用在元素上的样式。 如 <div style=”</div>。 这个style属性其实就是行内样式。
<div id=”article” style=””>itdriver.cn</div>
这时我们的div背景就变成了黄色了。
接着我们再通过ID选择器来设置div的样式。
ID选择器:所谓ID选择器,就是我们在样式表中,通过一个#id来给元素直接应用样式,大家请看下面的代码,就是如何给一个指定ID的元素应用样式;
/*给id为article的标签应用样式 */
#article{
font-size: 0.8em;
float:right;
}

当我们运行示例的时候,会发现div的背景依然是黄色的,但是我们字体大小是按着#article来设置的(因为行内样式没有设置字体大小)。这就说明: 行内样式 > ID选择器应用的样式。

接着ID选择器的下面,我们应用class选择器样式
/*给id为article的标签应用样式 */
#article{
font-size: 0.8em;
float:right;
}
/*给所有指定container为class的标签应用样式*/
.container{
font-size: 0.5em;
border:1px solid red;
}
这是我们发现,除了给div加了个黄色边框,div的背景色依然是行内样式设置的黄色,字体大小是#article里设置的。由此我们可以发现,虽然.container写在#article下面,但是却没有覆盖已经定义过的样式,这就证明了:行内样式 > ID选择器样式 > 类选择器样式
最后再应用一个标记选择器样式
/*给id为article的标签应用样式 */
#article{
font-size: 0.8em;
float:right;
}
/*给所有指定container为class的标签应用样式*/
.container{
font-size: 0.5em;
border:1px solid red;
}
div{
font-size:1em;
border:2px solid black;
color:green;
}

我们会发现,只有字体的颜色发生了变化,其他的样式还是之前的样式,这就说明标记选择器没有覆盖前面类选择器,ID选择器以及行内已定义的样式。这也就证明了 : 行内样式 >ID选择器 > 类选择器 > 标记选择器.

 

转载自实战互联网:http://www.itdriver.cn/html/2014/08/03/9.html

CSS中选择器优先级顺序实战讲解相关推荐

  1. css选择器优先级顺序是什么?css基本选择器优先级的介绍-前端教程

    css的选择器有很多种,那么,自然而然的就会有优先级这一概念出现,所以,css选择器优先级顺序是怎样的呢?本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容. 在看css选 ...

  2. css选择器优先级顺序是什么?css基本选择器优先级的介绍

    css的选择器有很多种,那么,自然而然的就会有优先级这一概念出现,所以,css选择器优先级顺序是怎样的呢?本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容. 打造全网we ...

  3. CSS选择器优先级顺序是什么

    css的选择器有很多种,那么,自然而然的就会有优先级这一概念出现,所以,css选择器优先级顺序是怎样的呢?本篇文章将来给大家介绍css选择器优先级的排序,话不多说,我们来直接看正文内容. 在看css选 ...

  4. 面试总结(CSS 的盒模型?、CSS 中选择器的优先级以及 CSS 权重如何计算?、CSS 中哪些属性可继承,哪些不可以?、CSS 单位中 px、em 和 rem 的区别?、rem 适配....)

    CSS 的盒模型?         盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际 内容这几个部分                 第一种是 W3C 标准的盒子 ...

  5. 【CSS】选择器优先级

    CSS的选择器优先级的权重 在 Selectors Level 3 规范中,一个选择器的优先级(权重)由依次串联的a.b.c三个标记来计算 a: ID选择器 如#header b: class选择器如 ...

  6. css选择器优先级顺序是什么?css基本选择器的介绍

    CSS选择器是编写CSS代码时的一个核心概念,我们在设计网页页面时,使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器.而HTML页面中的元素就是通过CSS选 ...

  7. CSS中class优先级问题

    CSS中class样式的优先级(或者层叠效果)是根据class在<style>或者css文件中定义的顺序比较,而不是根据class应用的顺序,定义越靠后优先级越高:如 <html&g ...

  8. css类选择器或逻辑,深入理解CSS中选择器的逻辑处理

    在过去的很长一段时间中,我们都说 CSS 是不带有任何逻辑的,意思是在 CSS 中没有控制流,也没有某种类似于其他编程语言的方式来组织 CSS.CSS 天生缺乏逻辑性的问题导致了预处理器的出现.然而业 ...

  9. css中选择器的使用

    css中通过使用选择器,使界面整齐,使代码整洁. 各个选择器的使用代码如下: @CHARSET "UTF-8"; /*使用类选择器*/ .style1{ font-size: 20 ...

最新文章

  1. (初级)数字信号处理目录(不只是目录)
  2. XidianOJ 1037 倍流畅序列
  3. PowerBI随笔(4)-关系模型与报表-1
  4. 对TELNET登陆路由器的用户进行限制
  5. tensorflow的tf.transpose()简单使用
  6. 如何解决CMST_SI_PARTNER_PART_EXEC missing问题
  7. 表白代码c语言_这段代码怎么啦?居然瞬间引起了所有程序员网友的注意!
  8. LeetCode (合集)合并链表和数组
  9. deepin安装windows虚拟机_Deepin Linux V20系统通过安装wine实现运行windows程序
  10. SQL server脚本语句积累
  11. 怎样才能打开Tuxera NTFS的主界面?
  12. Facebook算法swift实现
  13. 计算机的三种基础运算,计算机基础知识(计算机的基本运算).ppt
  14. docker build -t myip .报错怎么办?
  15. Peekaboo—站立式会议+alpha冲刺:Day1冲刺随笔
  16. 车架号/VIN码识别——图像处理工具
  17. 中国渠道销售管理模式特点分析
  18. 拼多多笔试题 回合制角色扮演
  19. 使用SOLIDWORKS验证光线模拟
  20. UE4实现多国语言翻译

热门文章

  1. dispatch_sync
  2. vmware虚拟化之vswitch详细资料
  3. Js让光标停在输入框input框最后面
  4. Command Prompt + Perl 脚本编写笔记
  5. 如何去掉 WinCE 4.2 的桌面墙纸
  6. 写给创业者的四句金玉良言
  7. 菜鸟的学习之路(7) — 包(package)、Object类和String类
  8. android 音乐播放器-------歌词同步 lrc
  9. exchange 2010 无人值守安装
  10. 与一线Linux嵌入式开发工程师的对话