简单选择器
元素<class<id(*属于元素级别)
- 复合类样式选择器(中间不能有空格) (.A.B)
- id、class选择器默认可以添加到任何元素上
- 层叠样式表,相同选择器,后面追加会覆盖前面的样式
#id1{…}
#id1{…} 覆盖上面的 - 优先级:(#id等价于#id) < .class#id 【.class优先级高于】
.class#id 等价于 #id.class
id选择器主要用于:表单和锚点
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#container{
position: absolute;
top: 300px;
left: 300px;
width: 156px;
height: 156px;
}
.items{
width: 50px;
height: 50px;
margin: 1px;
background-color: lightblue;
float: left;
line-height: 50px;
text-align: center;
}
.items.blue{
background-color: blue;
}
.items#red{
background-color: lightpink;
}
body{
background-color: lightslategray;
}
</style>
</head>
<body>
<div id="container">
<div class="items">1</div>
<div class="items">2</div>
<div class="items">3</div>
<div class="items">4</div>
<div class="items blue">5</div>
<div class="items" id="red">6</div>
<div class="items">7</div>
<div class="items">8</div>
<div class="items">9</div>
</div>
</body>
</html>
效果图:
[========]
[========]
上下文选择器
- 后代选择器:中间用空格
.container .item-us{…} 选择 .container(起点) 下的所有.item-us类
父子选择器 >
.container > .item-us 选择 .container(起点) 下的子.item-us类同级相邻选择器 +
.item.5_3_2 + li 选择 .item.5_3_2(起点) 同级兄弟li同级所有选择器 ~
.item.5_3_2 + li 选择 .item.5_3_2(起点) 之后的所有li
结构伪类选择器:不分组,进行递归遍历
父类 > :first-child(){…}
父类 > :last-child(){…}
父类 > :nth-child(expr(n)) n == 0
父类 > :nth-last-child(expr(n)) n == 0
结构伪类选择器:分组(区分元素类型)//按子类进行分组,会进行递归遍历
父类 > 子类:last-of-type(#) 分组中最后一个
父类 > 子类:nth-of-type(expr(n)) n ==0
父类 > 子类:nth-last-of-type(expr(n)) n ==0
伪类
:target 配合,实现锚点操作ID使用
#id:target{…}当前id元素被锚点点击执行
:focus
input:focus{…}获取焦点时执行
::seletciton
input::selection{…}选中时执行:not(条件) 对匹配的元素进行排除
伪元素
- ::before
- ::after