当我们写页面的时候,不知道你会不会产生这样的问题,为什么我给他添加的这条样式分明已经选择到我要给的元素了,但是他的样式并没有生效,那是为什么呢?

  定义的属性有冲突时,浏览器会选择用那一套样式呢,下面来介绍一下选择器的优先级。

  一、选择器的优先级排序

  1.   !important

    在属性后面写上这条样式,会覆盖掉页面上任何位置定义的元素的样式。

  2.   行内样式,在style属性里面写的样式。

  3.  id选择器

  4. class选择器

  5. 标签选择器

    6. 通配符选择器

  7. 浏览器的自定义属性和继承

上面写的这些排序的顺序就是优先级/权重的大小。 可以自己试一试比较一下他们的大小顺序。

 二、复杂选择器优先级,后代选择器优先级多种情况。

    有时候当我们写样式的时候会用到好多个后代样式,那么优先级的情况是什么情况呢。来看几个例子。

    我这里举的例子有点少,如果你在学习,你可以多自己写几个例子看看效果。

   1. id个数多的优先级高

#box .head span{
color:blue;
}
.box .head span{
color:red;
}
//下面span标签的颜色是蓝色的
  <div class="box" id="box">
    <div class="head">
      <span>我的颜色</span>
    </div>
  </div>

    2.id个数相等的看class个数,class越多优先级越高

//这个例子和题目不符,目的是为了让你看一下,这个span标签的样式是红色的。 
//虽然第三个样式的class个数多,但是他这个样式的span标签的样式是继承的,看第一个的总结,他的优先级是最低的。所以他没有选中的优先级高。
//这里我就不写了,自己在第三个样式p的后面在写上一个span标签。你会发现他的样式优先级是最高的。
#box .head span{
color:blue;
}
#box .head span{
color:red;
}
#box .head .p{
color:deeppink;
}
<div class="box" id="box">
<div class="head">
<p class="p"><span>我的颜色</span></p> </div>
</div>

  3.id和class个数相等,看元素个数,个数越多优先级越高。

//颜色应用的是第一个的样式,粉色
#box .head p span{
  color:deeppink;
}
#box .head span{
  color:blue;
}
#box .head span{
  color:red;
} <div class="box" id="box">
  <div class="head">
    <p class="p"><span>我的颜色</span></p>
  </div>
</div>

  4. 优先级相同,后面的样式会覆盖前面的样式, 不分先后顺序,只看选择器类型和个数。

//蓝色,优先级相同,后面的覆盖前面的,id、class、元素的个数不分先后顺序
#box .head p span{
color:red;
}
#box div .p span{
color:blue;
} <div class="box" id="box">
<div class="head" id="head">
<p class="p" id="p"><span>我的颜色</span></p>
</div>
</div>

  本来以为这一个内容会写上好多内容,没想到写了这么一点就完了,如果你通过这篇文章学到了一点知识和内容,那么我会非常开心的。下周见(*^__^*) 。

css选择器的优先级问题的更多相关文章

  1. CSS选择器以及优先级与匹配原理

    最常用的五类CSS选择器 准确而简洁的运用CSS选择器会达到非常好的效果.我们不必通篇给每一个元素定义类(class)或ID,通过合适的组织,可以用最简单的方法实现同样的效果.在实际工作中,最常用的选 ...

  2. CSS选择器、优先级与匹配原理(转)

    CSS选择器.优先级与匹配原理 导航 为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先 ...

  3. 详解CSS选择器、优先级与匹配原理

    原文链接:http://polaris1119.javaeye.com/blog/764428 作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个 ...

  4. 转载:详解CSS选择器、优先级与匹配原

    转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和 ...

  5. CSS选择器、优先级和匹配原理

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  6. 详解CSS选择器、优先级与匹配原理【转】

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  7. (转)css选择器及其优先级

    文章主要介绍什么是CSS选择器,CSS选择器的分类以及CSS选择器的优先级三部分内容,希望能够帮助到正在学习CSS的童鞋,有什么不足的地方欢迎大家批评指正. 一.什么是CSS选择器? CSS选择器又被 ...

  8. CSS 选择器及优先级

    CSS 选择器及优先级 1.根据权值计算 div .class1 #people的权值等于1+10+100=111 .class2 li #age的权值等于10+1+100=111 2.权值相同,那么 ...

  9. CSS选择器、优先级与匹配原理

    为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 ...

  10. CSS选择器及其优先级

    一:一些普通的选择器 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&quo ...

随机推荐

  1. php header的使用,PHP常见header状态总结

    <?php//200 正常状态header('HTTP/1.1 200 OK');// 301 永久重定向,记得在后面要加重定向地址 Location:$urlheader('HTTP/1.1 ...

  2. redis基本教程

    http://www.runoob.com/redis/redis-tutorial.html

  3. javascript 之数据类型

    写在前面 国庆整理资料时,发现刚开始入门前端时学习JS 的资料,打算以一个基础入门博客记录下来,有不写不对的多多指教: 先推荐些书籍给需要的童鞋 <JavaScript 高级程序设计.pdf&g ...

  4. TQ2440--nandflash(K9F2G08U0A)驱动编写

    一.数据手册相关内容 1.地址传输周期 2.命令表 3.在寄存器中,会涉及TACLS,TWRPH0,TWRPH1的设定 这里我们就去看nandflash的数据手册 在这里我们可以清楚的看到,TACLS ...

  5. Windows下使用nginx搭建反向代理服务器

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...

  6. VirtualBox虚拟磁盘文件.vdi从C盘转移到D盘

    起因很简单:C盘快爆满了,用PS修个图的都无法保存.用Everything搜索了下C盘,发现有个WIN7的.vdi文件,竟然占据了15G的宝贵C盘空间!记得有一次,我直接把.vdi文件转移,然后在Vi ...

  7. 对foreach循环的思考

    阿里java开发手册已经发表,很多都值得认真研究思考,看到零度的思考题,没忍住研究了一下. 零度的思考:https://mp.weixin.qq.com/s/dDR21k30s6ZVfDvl8BVQm ...

  8. JDBC的基本用法

    一.编程步骤 1.加载驱动 Class forName("com.mysql.jdbc.Driver"):mysql驱动 Class forName("oralce.jd ...

  9. 关于docker使用的几个小问题(一)

    由于刚接触docker踩了几个坑,希望本文对网瘾少年有所帮助. Docker分CE版(社区版)和EE版(商用版),具体安装流程参考文档介绍,在此不再赘述.下面分Windows和Linux分别踩坑: 一 ...

  10. Machine-learning of Andrew Ng(Stanford University)

    1.基础概念 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提高.当今机器学习 ...