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

相关推荐
千寻xun5 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang6 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
随风一样自由6 小时前
【前端独角兽】刚进入前端领域的前端开发用jQuery还是Vue3?
前端·javascript·vue3·jquery
IMPYLH7 小时前
HTML 的 <data> 元素
前端·html
YHHLAI7 小时前
[特殊字符] 面试中的 Promise —— 从入门到精通
前端·javascript·面试
kyriewen9 小时前
我扒了 GPT-5.6 的全部编程跑分——有一项 OpenAI 没敢放出来
前端·gpt·ai编程
前端H10 小时前
微前端 v3 架构升级:从加载隔离到状态协同
前端·架构·状态模式
MartinYeung510 小时前
[论文学习]大语言模型安全综述:攻击、防御、对齐、度量与护栏的深度解析
学习·安全·语言模型
陆枫Larry11 小时前
小程序包体积优化:用 SVG 图片替换 iconfont,并保留 CSS 控色能力
前端
AOwhisky11 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环