简述3种常用的css样式表及优先级顺序

html-css012

简述3种常用的css样式表及优先级顺序,第1张

css只负责静态样式,无法做任何逻辑运算,如果需要随机背景,需要js配合使用

// 首先,定义一个数组,用于存放所有的背景图片

var arr = new Array()

// 将所有背景图放入arr内

arr.push('背景图地址', '背景图地址', '背景图地址')

// 随机获得一个键值

var bg = Math.floor((Math.random() * arr.length))

// 将背景图片放入body的css中

$('body').css('background-image', arr[bg])

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的优先级是最高的,但出现冲突时则需比较”四位数“

优先级相同时,则采用就近原则,选择最后出现的样式

继承得来的属性,其优先级最低。