选择器种类

  • 标签选择器
  • id选择器
  • 类选择器
  • 通配符
  • 交集选择器
  • 并集选择器
  • 后代选择器
  • 子代选择器

选择器设置样式优先级

默认样式 < 继承样式 < 通配符设置样式 < 标签选择器设置样式 < 类选择器设置样式 < id选择器设置样式 < 行内样式 < !important

选择器权重计算

1. 判断是否继承,若不是继承则进行下一步

2. (0.0.0.0)
第一个数表示当前选择器中important的个数
第二个数表示当前选择器中id选择器的个数
第三个数表示当前选择器中类选择器的个数
第四个数表示当前选择器中标签选择器的个数 3. 比较:从第一个数开始比较,如果第一个数大,那么这个选择器的权重就大,相应的优先级就高,如果一样,再比较下一个,依此类推

习题练习(答案在最后,先做再看哦~)

1
<style type="text/css">
#father #son
color:blue;
}
#father p.c2
color:black;
}
div.c1 p.c2
color:red;
}
#father{
color:green !important;
} div#father.c1 {
color: yellow;
}
</style>
<body>
<div id="father" class="c1">
<p id="son" class="c2">
这行字体是什么颜色的?
</p>
</div>
</body>
2
<style type="text/css">
#father{
color:red;
}
p{
color:blue;
}
</style>
<body>
<div id="father">
<p>这行字体是什么颜色的?</p>
</div>
</body>
3
<style type="text/css">
div p{
color:yellow;
}
#father{
color:red;
}
p.c2{
color:blue;
}
</style>
<body>
<div id="father" class="c1">
<p class="c2">
试问这行字体是什么颜色的?
</p>
</div>
</body>
4
<style type="text/css">
div div{
color:blue;
}
div{
color:red;
}
</style>
<body>
<div>
abc
<div>
def
<div>
试问这行字体是什么颜色的?
</div>
</div>
</div>
</body>
5
<style type="text/css">
div div div div div div div div div div div div{
color:red;
}
.me{
color:blue;
}
</style>
<body>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div class="me">试问这行文字是什么颜色的</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
6
<style type="text/css">
.c1 .c2 div{
color: blue;
}
#box1 div{
color:yellow;
}
div #box3{
color:green;
}
</style>
<body>
<div id="box1" class="c1">
<div id="box2" class="c2">
<div id="box3" class="c3">
文字
</div>
</div>
</div>
</body>

这里是答案

  • 做完了才能看哦~
  1. blue
  2. blue
  3. blue
  4. blue
  5. blue
  6. green

做完了有疑问可以留言哦~

CSS —— 选择器的更多相关文章

  1. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  2. css选择器

    常用css选择器,希望对大家有所帮助,不喜勿喷. 1.*:通用选择器 * { margin: 0; padding: 0; } 选择页面上的全部元素,通常用于清除浏览器默认样式,不推荐使用. 2.#i ...

  3. dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来

    dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...

  4. CSS选择器的权重与优先规则?

    我们做项目的时候,经常遇到样式层叠问题,被其他的样式覆盖,或者写的权重不高没效果,对权重没有具体的分析,做了一个总结. css继承是从一个元素向其后代元素传递属性值所采用的机制.确定应当向一个元素应用 ...

  5. css选择器的使用详解

    -.css选择器的分类: 二.常用选择器详解: 1.标签选择器: 语法: 标签名 { 属性:属性值; } 代码示例: h1 { color: #ccc; font-size: 28px; } 2.类选 ...

  6. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

  7. CSS系列:CSS选择器

    选择器(selector)是CSS中很重要的概念,所有HTML语言中的标记样式都是通过不同的CSS选择器来控制的.用户只需要通过选择对不同的HTML标签进行选择,并赋予各种样式声明,即可实现各种效果. ...

  8. 细说CSS选择器

    众所周知,CSS的一个核心特征就是能向文档中的一组元素类型应用某些规则.每个规则都有两个基本部分:选择器(selector)和声明块(declaration block).下图显示了规则的各个部分. ...

  9. CSS选择器 转

    来自于:http://www.cnblogs.com/webblog/archive/2009/08/07/1541005.html 最近在研究jQuery的选择器,大家知道jQuery的选择器和cs ...

  10. HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)

    ---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...

随机推荐

  1. ajax跨域,携带cookie

    解决方案很简单. 直接上代码: web.xml中: 添加了 cors来解决跨域 (奇怪的是,credentials设置为false.反正这个是照搬的...)   <filter>     ...

  2. EF 更新 删除

    为了避免先查询后更新或删除的问题 可以使用如下语句 Entities db = new Entities(); Orders o = new Orders(); o.id = 6; o.name = ...

  3. P2707 Facer帮父亲

    题目背景 Facer可是一个孝顺的孩纸呦 题目描述 Facer的父亲是一名经理,现在总是垂头丧气的. Facer问父亲,怎么啦?父亲说,公司出了点问题啊. 公司管理着N个风景点,每个风景点都有不少人来 ...

  4. HDU1069 最长上升子序列

    emm....矩形嵌套 还记得吗....就是它... 直接贴代码了.... import java.util.ArrayList; import java.util.Arrays; import ja ...

  5. codeforces 793B. Igor and his way to work

    B. Igor and his way to work time limit per test 3 seconds memory limit per test 256 megabytes input ...

  6. git上传到码云

    touch README.md git init git add README.md git add "你的文件" git commit -m "first commit ...

  7. android 混淆 与 反编译

    1, 文件 project.properties 修改: target=android-14proguard.config=${sdk.dir}/tools/proguard/proguard-and ...

  8. 1: java开发_""和null的区别

    原文地址:http://www.cnblogs.com/hongten/archive/2012/11/08/java_null.html 在代码中: 1 //name可以为"", ...

  9. 2018 ACM 网络选拔赛 沈阳赛区

    B. Call of Accepted #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  10. dedecms获取顶级栏目名称、二级栏目名称实现方法 转

    织梦DEDECMS文章.栏目页获取当前页面顶级栏目名称的方法 在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} ...