【Web前端笔记07】CSS选择器

目录

[07 CSS选择器](#07 CSS选择器)

一、关系选择器

[二、 伪类选择器](#二、 伪类选择器)

三、伪对象选择器

四、属性选择器

总结


07 CSS选择器
一、关系选择器
  1. 后代选择器
    E F{}(所有被 E 元素包含的 F 元素,中间用空格隔开)
  2. 通用兄弟选择器
    E~F{}(选择 E 元素之后的所有兄弟元素 F,作用于多个元素,用~隔开)
  3. 相邻兄弟选择器
    E+F{}(选择紧跟 E 元素后的 F 元素,用加好表示,选择相邻的第一个兄弟元素)
  4. 子代选择器
    E>F{}(选择所有作为 E 元素的直接子元素 F,对更深一层的元素不起作用)
二、 伪类选择器
  1. 超链接
  • :link"链接":超链接点击之前(只适用于a)
  • :visited"访问过的":链接被访问过之后(只适用于a)
  • :hover "悬停":鼠标放到标签上的时候(适用于所有标签)
  • :active "激活": 鼠标点击标签,但是不松手时。(适用于所有标签)
  • :first-child 选择器 匹配其父元素中的第一个子元素
  • :first-of-type 选择器 匹配元素其父级是特定类型的第一个子元素
  • :only-child 选择器 匹配属于父元素中唯一子元素的元素
  • :nth-child ()选择器 匹配父元素中的第 n 个子元素,元素类型没有限制。 n 可以是一个数字,一个关键字,或者一个公式
  • :last-child 选择器 匹配父元素中最后:nth-child ()选择一个子元素
  • :last-of-type 选择器 匹配元素其父级是特定类型的最后一个子元素
  • :nth-last-child(n) 选择器 匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数,n 可以是一个数字,一个关键字,或者一个公式。
  • :empty 选择器 选择每个没有任何子级的元素(包括文本节点)
  • :not(selector) 选择器 匹配每个元素是不是指定的元素/选择器。
  • :focus 选择器 用于选择具有焦点的元素
  • :checked 选择器 匹配每个选中的输入元素(仅适用于单选按钮或复选框)
  • ::selection 选择器匹配元素中被用户选中或处于高亮状态的部分。 ::selection 只可以应用于少数的 CSS 属性:color, background, cursor,和 outline。 Firefox 通过其私有属性 ::-moz-selection 支持
三、伪对象选择器

E:before / E::before

E:after / E::after

before,after选择器在被选元素的"内容"前面或后面插入内容,用来和content属性一起使用。

注:写伪元素是要规范,用两个冒号

四、属性选择器

可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class和 id属性

值 描述
attribute 用于选取带有指定属性的元素
attribute=value 用于选取带有指定属性和值的元素
attribute\~=value 用于选取属性值中包含指定词汇的元素
attribute|=value 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词
attribute\^=value 匹配属性值以指定值开头的每个元素
attribute$=value 匹配属性值以指定值结尾的每个元素
attribute\*=value 匹配属性值中包含指定值的每个元素

写法:元素【属性名="属性值"】 等号不固定可换成其他符号

总结

本篇博文主要介绍了CSS选择器的知识,常用的是关系选择器,但是在特殊情况下会用到其他的选择器,在使用超链接,设置其样式的时候,伪类选择器是最常用到的,大家可以在具体实践中进行体会,了解其中的不同之处。

相关推荐
吴凡wudianmei3 分钟前
从 0 搭一个 AI Agent(四):SSE 跑通之后,三处“契约错配”与它们的修复边界
前端·后端·aigc
不可能片场4 分钟前
Electron 发布 别拿 load 事件当页面就绪
前端·electron
paopaokaka_luck13 分钟前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
kyriewen15 分钟前
我验了 7 种 sticky 失效说法:3 种根本不成立
前端·javascript·程序员
程序边界21 分钟前
一台数据集成软件的拆解笔记(下):一致性、容错、跑批与迁移,KFS 真正难的地方在这
java·前端·笔记
健康活着就好22 分钟前
# 前端图片优化实战,首屏加载提速60%
前端
云和数据.ChenGuang32 分钟前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
不一样的少年_36 分钟前
不花一分额外 API 钱,用现成的 Claude Code / Codex / Cursor 搭建 AI 个人知识库
前端·后端·ai编程
揣一尾游鱼yu40 分钟前
内部类和Object笔记
java·开发语言·object·内部类
tryCbest1 小时前
ES6 ( ECMAScript 2015)核心语法
前端·ecmascript·es6