1.CSS的三种引入方式
1.行内引入:在开始标签里面写style属性(权重高,但是结构与样式没有完全分离)
2.内部引入:在head标签里面写style标签(结构与样式没有完全分离)
3.外部引入:在head标签里面写link标签,link标签里面的href属性引入css文件(结构与样式完全分离,一个html文件可以引入多个css文件
2.基础选择器
1.标签选择器
会选择页面上所有同名的标签 用法:一般用来清除标签默认样式
格式:
标签名{
属性:属性值;
}
2.类选择器
用class属性定义类名
格式:
·类名{
属性:属性值
}
注意:1.类名可以重复(作为公共样式)
2.一个标签可以有多个类名,类名和类名之间用空格隔开
3.id选择器
格式:
#id值{
属性:属性值
}
注意:一个页面不能出现两个相同的id值(id值唯一)
4.通配符选择器
会选择页面上所有的元素
格式:
* {
margin:0;
padding:0;
}
作用:一般用来清除浏览器的默认样式
3.复合选择器
1.交集选择器
既....又....
格式:
选择器选择器 {
属性:属性值
}
注意:如果有标签选择器,则将标签选择器放在第一个
既是div标签,又有demo这个类名
2. 并集选择器
表示逗号两边的选择器作用公共样式
格式
选择器,选择器{
}
.demo,span{
}
3.子代选择器
会选择所有同名的子代
格式:
选择器>选择器{
属性:属性值
}
案例: .fa>span { color: red; } .fa>.son2 { color: blue; } .fa>.sson { color: pink; } .fa>span.son2 { color: aquamarine; } .fa>span,.son>.sson>span { color: blueviolet; }
4.后代选择器
会选择所用同名的后代
格式:
格式器 格式器{
属性:属性值
}
5.兄弟选择器
格式1:
+:会选择下一个相邻的兄弟
选择器+选择器 {
属性:属性值
}
格式2:
~:会选择下面所有同名的兄弟
选择器~选择器 {
属性:属性值
}
案例: .bro+div { color: red; } .bro~.bro2 { color: pink; } .bro~p { color: blue; }
6.属性选择器
格式:
[属性]或者[属性="属性值"] {
属性=“属性值”
}
[属性^="属性值"] 表示以当前属性值作为开头
[属性$="属性值"] 表示以当前属性值作为结尾
[属性*="属性值"] 表示包含当前属性值
案例: [type="text"] { height: 200px; width: 200px; } p[style] { height: 200px; width: 200px; background-color: pink; } [class*="ab"] { color: yellow; }
4.伪类选择器
1.链接伪类选择器
主要用于a标签的两个链接伪类
:link 未访问过的链接
:visited 访问过的链接
:hover 鼠标划过的样式(最常用)
:active 鼠标点击时的样式
2.结构伪类选择器
(1)先排序,在匹配
:first-child 获取第一个子元素
:last-child 获取最后一个子元素
:nth-child(n) 选取某个元素的一个或者多个特定的子元素。可以使用数字(n从1开始)、关键字(even偶数、odd奇数)或公式.
(n从0开始,表达式小于或者等于0时,不选取任何子元素
:nth-last-child(n) 选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始获取。可以使用数字(n从1开始)、关键字
(even偶数、odd奇数)或公式(n从0开始)
(2)先匹配,在排序
:first-of-type 选择特定元素的第一个子元素
:last-of-type 选定特定元素的最后一个子元素
:nth-of-type(n) 只计算父元素中指定的某种类型的子元素
:nth-last-of-type(n) 只计算父元素中指定的某种类型的子元素,从这个元素的最后一个元素开始获取