发表于: 2017-03-16 20:54:46

1 782


今天完成的事情:

学习css类选择器

学习white-space:nowrap;文字不换行。

明天的计划:

修改之前的任务,复习基础知识。

收获:

了解CSS的选择器可以分为三大类,id选择器、class选择器以及标签选择器。以及他们组合之后可以分为:

后代选择器、子代选择器、群组选择器、伪类选择器。知道了选择器的优先级怎么设定,以及优先级是怎么计算的。





css选择器的优先级是怎么样设定的?权重又是什么?

小课堂【郑州第52期】

分享人:汪开放

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

什么是选择器?

要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。

HTML页面中的元素就是通过CSS选择器进行控制的。

2.知识剖析

CSS的选择器可以分为三大类,

即id选择器、class选择器、标签选择器。 
用法如下:

#id名 { 属性名:属性值; }

(例:div id=“wu”>   #wu{color:red})

.class名 { 属性名:属性值; }

(例:div class=“liu”>   .liu{color:red})

标签名 { 属性名:属性值; }

(例:《p》内容《/p》   p{color:red})
他们之间又可以以不同的方式进行组合,如下:

后代选择器: 父代名 后代名 { 属性名:属性值; }

注释:后代选择器:就是对象当中所有的子元素,孙子元素以及最底层的元素

子代选择器: 父代名>子代名 { 属性名:属性值; }

注释:子选择器:就单单是子元素,子元素的子元素也就是孙子元素就不算了

群组选择器: #name1, .name2, #name div { 属性名:属性值; }

伪类选择器:{ name:伪类}
                    

:active 向被激活的元素添加样式。                        

 :focus 向拥有键盘输入焦点的元素添加样式。                       

 :hover 当鼠标悬浮在元素上方时,向元素添加样式。                      

 :link 向未被访问的链接添加样式。                       

 :visited 向已被访问的链接添加样式。                       

 :checked 选择器匹配每个已被选中的 input 元素。                       

 :first-child 向元素的第一个子元素添加样式。


2.4通用选择器

通用选择器可能是所有选择器中最强大却最少使用的,通用选择器的作用就像是通配符,它可以匹配所有可用的元素。 起作用主要在实际中的使用是删除每个元素上默认的浏览器内外边距。 通过*号来表示
                    
                        * {margin: 0; padding:0}                    
                

3.常见问题

问题: 选择器使用的优先级是怎么进行计算的?也就是权重问题

4.解决方案

同一权重
按照它在CSS样式表里声明的顺序,后声明的优先,例如: 
h1 {color: blue} 
h1 {color: red} 
最终胜出的是color: red

不同权重

在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。

1.最高优先级是 (直接在标签中的设置样式,假设级别为1000)(div style="color:Red;")

  2.次优先级是(ID选择器 ,假设级别为100) #myDiv{color:Red;}   

3.其次优先级是(类选择器,假设级别为10).divClass{color:Red;}

  4.最后优先级是 (标签选择器,假设级别是 1) div{color:Red;}   

5.那么后代选择器的优先级就可以计算了啊

  比如 .divClass span { color:Red;} 优先级别就是:10+1=11

5.编码实战

6.扩展思考

问题一:子选择器和后代选择器的区别?

子元素选择器的对象只包括“儿子”, 后代选择器的对象包括“子子孙孙”

问题二:什么时候需要使用子选择器?

父元素下一级的某种元素具有一些公共的样式

7.参考文献

参考一:Baidu

参考二:W3School

参考三:菜鸟教程

参考四:博客园

参考四:百度贴吧

8.更多讨论

伪类和伪元素的区别?

伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档树外的元素。因此,伪类与伪元素的区别在于: 
有没有创建一个文档树之外的元素。

ppt链接:https://ptteng.github.io/PPT/PPT/css-03-Selector.html#/21


返回列表 返回列表
评论

    分享到