🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## **介绍** 选择器是由 CSS 最先引入的一个机制(但随着 document.querySelector 等 API 的加入,选择器已经不仅仅是 CSS 的一部分了) **选择器的基本意义是:根据一些特征,选中元素的一批元素** 把选择器的结构分一下类,那么由简单到复杂可以分成: * 简单选择器:针对某一特征判断是否选中元素 * 复合选择器:连续写在一起的简单选择器,针对元素自身特征选择单个元素 * 复杂选择器:由 空格, >, ~, +, || 等符号连接的复合选择器,根据父元素或者前序元素检查单个元素 * 选择器列表:由逗号分隔的复杂选择器,表示「或」的关系 ![](https://img.kancloud.cn/9c/ec/9cec00fc670214d30d8803b067e95057_764x591.png) *伪类选择器:一系列由 CSS 规定好的选择器,它们以冒号开头,伪类有普通型和函数型* - 简单选择器列表:[前人栽树,后人乘凉,传送门](https://docs.itellboy.wang/css/selector.html) - 伪元素选择器(目前兼容性良好的几个) - ::first-line:选中元素的第一行 - ::first-letter:选中元素的第一个字母 - ::before:在元素内容之前插入一个虚拟的元素(须指定 content 属性才会生效) - ::after:在元素内容之后插入一个虚拟的元素(须指定 content 属性才会生效) --- ## **解析方式** 选择器的解析方式是从右往左解析的 ```css .content .item-view img { width: clac(100vw - 20px); } // 浏览器在解析时,先会找到 img 标签的元素,然后继续向上查找验证 ``` ## **选择器权重** - **!important**:最高 - **标签样式**:第二高 - **id 选择器**:+100 - **class、属性、伪类**:+10 - **类型、伪元素**:+1 - **全体选择器**:+0 - 相同权重按顺序覆盖