前端学习之CSS

CSS选择器学习笔记

一、基础选择器(FED9示例)
css 复制代码
/* 标签选择器:直接选中所有指定标签 */
div {
    color: rgb(255, 0, 0);
    font-size: 20px; /* 公共样式 */
}

/* 类选择器:通过class属性定位元素 */
.green {
    color: rgb(0, 128, 0); /* 覆盖标签选择器颜色 */
}

/* ID选择器:通过唯一id属性定位元素 */
#black {
    color: rgb(0, 0, 0); /* 最高优先级覆盖 */
}

特性总结:

  • 优先级权重:ID选择器(100) > 类选择器(10) > 标签选择器(1)
  • 应用场景
    • 标签选择器:统一基础样式
    • 类选择器:复用相同样式
    • ID选择器:唯一元素定制样式

二、伪类选择器(FED10示例)
css 复制代码
/* :nth-child() 伪类选择器 */
ul li:nth-child(2n) {  /* 2n表示偶数位置 */
    background-color: rgb(255, 0, 0);
}

核心要点:

  1. 选择器结构:父元素 子元素:伪类
  2. 常用公式:
    • 2n/even:偶数元素
    • 2n+1/odd:奇数元素
    • n+2:第2个开始所有元素
  3. 其他常用伪类:
    • :hover 鼠标悬停
    • :first-child 首个子元素
    • :last-child 最后一个子元素

三、伪元素(FED11示例)
css 复制代码
div::after {  /* 双冒号语法 */
    content: "";          /* 必须属性 */
    width: 20px;
    height: 20px;
    background-color: rgb(255, 0, 0);
    display: block;       /* 转换为块级元素 */
}

关键知识:

  1. 伪元素类型:
    • ::before 在内容前插入
    • ::after 在内容后插入(本例使用)
  2. 必备属性:
    • content:定义插入内容(空字符串也可)
    • display:控制渲染方式(block/inline-block)
  3. 与伪类的区别:
    • 伪类:选择已有元素的状态
    • 伪元素:创建虚拟元素并添加样式

选择器优先级计算模型

设标签选择器权重为 a,类选择器为 b,ID选择器为 c,则优先级为: $$ P = c \times 100 + b \times 10 + a $$ 比较规则:高位优先(如ID选择器权重始终高于类选择器)

示例验证:
div#black 权重 = 1 \\times 100 + 0 \\times 10 + 1 = 101
.green 权重 = 0 \\times 100 + 1 \\times 10 + 0 = 10

相关推荐
纯爱掌门人13 分钟前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl17 分钟前
OpenClaw 深度技术解析
前端
崔庆才丨静觅20 分钟前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人29 分钟前
vue3使用jsx语法详解
前端·vue.js
天蓝色的鱼鱼32 分钟前
shadcn/ui,给你一个真正可控的UI组件库
前端
r i c k32 分钟前
数据库系统学习笔记
数据库·笔记·学习
布列瑟农的星空36 分钟前
前端都能看懂的Rust入门教程(三)——控制流语句
前端·后端·rust
Mr Xu_41 分钟前
Vue 3 中计算属性的最佳实践:提升可读性、可维护性与性能
前端·javascript
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
jerrywus1 小时前
我写了个 Claude Code Skill,再也不用手动切图传 COS 了
前端·agent·claude