前端学习之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

相关推荐
遇到困难睡大觉哈哈3 小时前
Harmony os 静态卡片(ArkTS + FormLink)详细介绍
前端·microsoft·harmonyos·鸿蒙
用户47949283569153 小时前
Bun 卖身 Anthropic!尤雨溪神吐槽:OpenAI 你需要工具链吗?
前端·openai·bun
p***43484 小时前
前端在移动端中的网络请求优化
前端
g***B7384 小时前
前端在移动端中的Ionic
前端
拿破轮4 小时前
使用通义灵码解决复杂正则表达式替换字符串的问题.
java·服务器·前端
whltaoin4 小时前
【 Web认证 】Cookie、Session 与 JWT Token:Web 认证机制的原理、实现与对比
前端·web·jwt·cookie·session·认证机制
Aerelin5 小时前
爬虫playwright入门讲解
前端·javascript·html·playwright
STLearner5 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
5***o5005 小时前
前端在移动端中的NativeBase
前端
灵魂学者5 小时前
Vue3.x —— 父子通信
前端·javascript·vue.js·github