选择器
兄弟选择器
- E+F 选中下一个满足条件的兄弟元素节点


- 只有第一个p标签变色
E ~ F 选中所有满足条件的兄弟元素节点
E[条件] 选中指定条件的节点


- 选中div中并且有data属性的节点
E[data~=‘a’]选中div中所有条件是data=“a”的节点
1个相同点:都是被添加到一个选择器末尾的关键字
- 2个不同点:
- 伪类是以1个冒号(:)作为前缀被添加到选择器末尾的关键字;
- 如果伪类你用了2个冒号,不会报错,但也不会生效,比如 ::hover;
- 伪元素是以2个冒号(::)作为前缀被添加到选择器末尾的关键字
- 但伪元素你用1个或2个冒号不会报错且有效,比如,:before,::before
注:建议按照W3C标准伪元素用2个冒号,1个冒号有效果是因为向前兼容,让老的浏览器也能支持
::placeholder 拥有placeholader的被选中
-
::selection 字体选中后的状态
鼠标滑动选中字体后变色只支持三个属性,color 、 background、text-shadow
伪类选择器
:not() 排除选择器
:not 非选择器
css2中定义的选择器

- p:first-child
- 匹配到的是p元素,因为p元素是div的第一个子元素;
- h1:first-child
- 匹配不到任何元素,因为在这里h1是div的第二个子元素,而不是第一个;
span:first-child

- p:first-of-type
- 匹配到的是p元素,因为p是div的所有类型为p的子元素中的第一个;
- h1:first-of-type
- 匹配到的是h1元素,因为h1是div的所有类型为h1的子元素中的第一个;
span:first-of-type
:root {
background-color: red
}-
:target 锚点选择器
可用于选取当前活动的目标元素。当 URL 末尾带有锚名称 #,就可以指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。它需要一个 id 去匹配文档中的 target 。
- 举例:
a:target {
当location.hash = xxx时触发
} -
实现tab栏切换
:empty选中内容为空的节点
-
:checkbox选中后改变
-
:disabled选中禁止点击的节点
-
css节点被操作时显示
```html <!DOCTYPE html>
```
- 当index被hover的时候,demo元素展示






选中第二个没有任何内容的div

input选中后span的after展示

