1.标记选择器(如:body,div,p,ul,li)
2.id选择器(如:id=“name”,id=“name_txt”)
3.类选择器(如:id=“name”,id=“name_txt”)
4.后代选择器(如:#head .nav ul li 从父集到子孙集的选择器)
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.后代选择器(li a)
6.伪类选择(a:hover,li:nth-child)
最后,需要注意的是:
!important的优先级是最高的,但出现冲突时则需比较”四位数“
优先级相同时,则采用就近原则,选择最后出现的样式
继承得来的属性,其优先级最低。
<!DOCTYPE html><html>
<head>
<title>复制内容</title>
<style> <!-- 第1种在网页<head>标签里直接写入<style> -->
.abc{ font-size:10pxcolor:red }
</style>
<link href="./xxx.css" rel="stylesheet" /><!-- 导入外部的CSS链接 -->
</head>
<body>
<p class="abc">我是网页<head>标签里直接写入<style></p>
<p style="font-size:20pxcolor:blue">456</p> <!-- 第三种直接在标签里写入style=""-->
</body>
</html>
1、首先行内引用,在head标签使用style标签集中书写在头部标签体中交换。2、其次在外部建立.scc文件在HTML页面的head标签中利用link标签引用外部.css文件。
3、最后在html页面中的末尾用script标签引出外部扩展名为.js的文件。