1、标签选择器
p{color:red}
什么是标签选择器?
根据指定标签名称,在当前界面中找到所有该名称的标签,并设置属性
注意点:
标签选择器选中的是当前界面所有同名标签,不能单独选中
只要是HTML中的标签都可以作为标签选择器
2、id选择器#id{color:red}
什么是id选择器?
根据指定标签的id,在当前界面中找到该id的标签,并设置属性
注意点:
每个HTML标签都有id属性
同一个界面中id是唯一的,不能重复
编写id选择器必须要在id前面加上一个#号
id的名称有一定的规范,只能由字母数字和下划线组成
id的名称不能够以数字开头
id的名称不能与HTML标签同名
如果仅仅是为了设置样式,我们不会使用id,因为前段开发中id是留给js使用的
3、类选择器.class{color:red}
什么是类选择器?
根据指定标签的类,在当前界面中找到该类的标签,并设置属性
注意点
每个HTML标签都有class属性
同一个界面中class属性是可以重复
编写class选择器必须要在class名称前面加上一个.号
class的名称有一定的规范,只能由字母数字和下划线组成
class的名称不能够以数字开头
class的名称不能与HTML标签同名
class就是专门给某一类标签设置样式的
一个标签可以同时绑定多个class属性
<p class="p1 p2 p3">Test paragraph</p>,这样就绑定了三个类属性
类选择器实践,通过对不同类的组合来实现不同的效果
1、标记选择器(如:body,div,p,ul,li)2、id选择器(如:id="name",id="name_txt")
3、类选择器(如:id="name",id="name_txt")
4、后代选择器(如:#head.navulli从父集到子孙集的选择器)
5、子元素选择器(如:div>p,带大于号>)
6、伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)
看完了基本的css选择器类型后,我们接着来看一下css优先级的概念。
当两个规则都作用到了同一个html元素上时,如果定义的属性有冲突,那么应该用谁的值的,用到谁的值谁的优先级就高。
我们来看一下css选择器优先级的算法:
每个规则对应一个初始"四位数":0、0、0、0
若是行内选择符,则加1、0、0、0
若是ID选择符,则加0、1、0、0
若是类选择符/伪类选择符,则分别加0、0、1、0
若是元素选择符,则分别加0、0、0、1
算法:将每条规则中,选择符对应的数相加后得到的”四位数“,从左到右进行比较,大的优先级越高。
看完了上述内容,那我们就来看看css选择器优先级的具体排序。
css选择器优先级最高到最低顺序为:
1.id选择器(#myid)
2.类选择器(.myclassname)
3.标签选择器(div,h1,p)
4.子选择器(ul<li)
5.后代选择器(lia)
6.伪类选择(a:hover,li:nth-child)
最后,需要注意的是:
!important的优先级是最高的,但出现冲突时则需比较”四位数“
优先级相同时,则采用就近原则,选择最后出现的样式
继承得来的属性,其优先级最低。