news 2026/6/26 19:52:04

CSS笔记3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSS笔记3

CSS

  • 选择器
    • 结构伪类选择器
  • nth-child(公式)
  • CSS 精灵
    • 原理
    • 步骤
    • 适应环境
    • 介绍
    • less - 导入
    • less - 导出
  • 副标题:选择器、PxCook软件、盒子模型

选择器

结构伪类选择器

  • 作用:根据元素的结构关系查找元素。
  • 表格:
    选择器说明
    E:first-child查找第一个 E 元素
    E:last-child查找最后一个 E 元素
    E:nth-child(N)查找第 N 个 E 元素(第一个元素 N 值为1)
  • 代码示例:
    li:first-child{background-color:green;}

01-结构伪类选择器-基本使用.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>结构伪类选择器-基本使用</title><style>/* li:first-child { background-color: green; } *//* li:last-child { background-color: green; } */li:nth-child(3){background-color:green;}</style></head><body><ul><li>li 1</li><li>li 2</li><li>li 3</li><li>li 4</li><li>li 5</li><li>li 6</li><li>li 7</li><li>li 8</li></ul></body></html>
/* 第一个 *//* li:first-child { background-color: green; } *//* 最后一个 *//* li:last-child { background-color: green; } *//* 任意个 *//* li:nth-child(3) { background-color: green; } */li:nth-child(1){background-color:green;}

nth-child(公式)

  • 作用:根据元素的结构关系查找多个元素。
  • 表格:
    功能公式
    偶数标签2n
    奇数标签2n+1; 2n-1
    找到5的倍数的标签5n
    找到第5个以后的标签n+5
    找到第5个以前的标签-n+5

CSS 精灵

CSS 精灵(也叫雪碧图)是一种网页优化技术,将多个小图标、小图片合并成一张单独的大图片,然后通过 CSS 的background-position属性定位显示其中的特定部分。
主要用于减少 HTTP 请求数量,提升网页加载速度,是前端性能优化的经典手段之一。

原理

网页中的每张图片都需要单独发起一次 HTTP 请求,当页面包含大量小图标(如按钮图标、导航图标、表情图标等)时,HTTP 请求数会显著增加,导致页面加载缓慢。CSS 精灵通过将所有小图片整合到一张图片文件中,只需一次 HTTP 请求即可加载所有图片资源,然后利用 CSS 的背景定位技术,只显示需要的部分。
CSS 的background相关属性是实现精灵图的关键:

  • background-image:指定精灵图的 URL;
  • background-position:通过 X 轴(水平)和 Y 轴(垂直)坐标定位精灵图中的具体图片(坐标值可正可负,负数表示向左 / 向上移动精灵图,以显示目标区域);
    background-repeat:通常设置为no-repeat,避免精灵图重复显示;
    width/height:设置元素的尺寸,仅显示精灵图中对应大小的区域。

步骤

  1. 制作精灵图
    首先需要将所有小图片合并成一张大图片,可使用 Photoshop、Fireworks、GIMP 等图像编辑软件,或在线工具(如 SpriteCow、SpriteSheetPacker、Iconfont 的雪碧图生成工具等)。
  • 小图片之间保留一定的间距(避免定位时相邻图片重叠);
  • 按图片的使用场景或大小分类排列(便于后续定位);
  • 精灵图的格式优先选择 PNG(支持透明,压缩率高),简单图标也可使用 JPG 或 WebP(WebP 压缩率更高,现代浏览器支持良好)。
  1. 确定图片坐标
    合并精灵图后,需要确定每个小图片在精灵图中的坐标(X、Y 轴偏移量)和尺寸(宽、高)。可通过图像编辑软件的标尺工具测量,或使用在线工具(如 SpriteCow)自动生成坐标和 CSS 代码。
  2. 编写 CSS 样式
    通过 CSS 背景属性定位并显示目标图片,
    HTML
<divclass="icon icon-home"></div><divclass="icon icon-user"></div><divclass="icon icon-settings"></div>

CSS

/*假设精灵图sprites.png包含 home、user、settings 三个图标*/.icon{display:inline-block;background-image:url("sprites.png");background-repeat:no-repeat;}/* 首页图标:坐标X: 0px,Y: 0px,宽24px,高24px */.icon-home{width:24px;height:24px;background-position:0 0;}/* 用户图标:坐标X: -30px(向右偏移30px,避开home图标),Y: 0px,宽24px,高24px */.icon-user{width:24px;height:24px;background-position:-30px 0;}/* 设置图标:坐标X: 0px,Y: -30px(向下偏移30px,避开home图标),宽24px,高24px */.icon-settings{width:24px;height:24px;background-position:0 -30px;}

适应环境

减少 HTTP 请求数:这是最核心的优势,尤其在 HTTP/1.1 协议下(HTTP/1.1 对同一域名的并发请求数有限制,通常为 6 个),减少请求数可显著提升页面加载速度;
降低图片总体积:合并后的精灵图体积通常小于所有小图片的体积之和(图片压缩算法对大图片的压缩效率更高,且减少了图片文件头、元数据等冗余信息);
简化图片管理:将所有小图片整合到一个文件中,便于维护和更新(只需替换一张精灵图即可更新所有图标);
减少图片闪烁:页面加载时,所有图标一次性加载完成,避免了逐个加载小图片时的闪烁现象。

定位复杂:需要精确计算每个小图片的坐标和尺寸,尤其是当精灵图包含大量图片时,手动定位容易出错,需依赖工具辅助;
维护成本高:若需要新增、删除或修改某个小图片,通常需要重新制作整个精灵图,并调整所有相关 CSS 的坐标和尺寸(可通过自动化工具缓解此问题);
不适合大图片:CSS 精灵仅适用于小图标、小图片,若将大图片(如 banner 图、产品图)合并,会导致精灵图体积过大,加载时间过长,反而影响性能;
响应式适配困难:精灵图的尺寸和坐标是固定的,在响应式布局中,若需要缩放图标,需额外处理(如使用 SVG 图标替代,或制作多套不同尺寸的精灵图)。

介绍

文档流是 CSS 布局的基础,理解其核心规则(元素分类、排列方式、margin 折叠、行高影响)是掌握 CSS 布局的关键。脱离文档流的方式(浮动、定位、display:none)会改变元素的布局行为,而现代布局(Flex/Grid)则是对文档流规则的扩展和优化,使布局更灵活、更易维护。在实际开发中,应优先使用 Flex/Grid 布局(现代浏览器支持良好),减少对浮动和绝对定位的依赖,以简化布局逻辑。
CSS 动画是网页动效的基础,** 过渡动画(Transition)** 适用于简单的状态切换,** 关键帧动画(Animation)** 适用于复杂的多阶段动画。实际开发中,应优先使用transform和opacity实现高性能动画,结合 JavaScript 处理复杂交互逻辑,同时兼顾兼容性和性能优化。随着 CSS Houdini(CSS API)的发展,CSS 动画的能力还将进一步扩展,为网页动效带来更多可能性。
媒体查询是响应式网页设计的核心技术,通过检测设备的特性(尤其是屏幕宽度)实现样式的条件化应用。实际开发中,推荐采用移动优先的断点设计原则,结合 Flexbox/Grid 布局和相对单位,构建简洁、高效的响应式页面。同时,需注意视口设置、媒体查询的顺序和性能优化,确保网页在不同设备上的兼容性和用户体验。
CSS 精灵是前端性能优化的经典技术,核心价值在于减少 HTTP 请求数,提升页面加载速度。在实际开发中,需结合项目特点合理使用:对于小图标、小位图,可采用 CSS 精灵;对于矢量图标,优先选择 SVG 或 Iconfont;对于大图片,应单独加载并优化。同时,借助自动化工具可大幅降低 CSS 精灵的制作和维护成本,使其在现代前端开发中仍能发挥作用。

less - 导入

  • 作用:导入 less 公共样式文件
  • 语法:导入:@import "文件路径";
  • 提示:如果是 less 文件可以省略后缀
  • 代码示例:
    @import './base.less'; @import './common';

less - 导出

  • 写法:在 less 文件的第一行添加// out: 存储URL(后有红色方框)
  • 提示:文件夹名称后面添加/
  • 代码示例:
    // out: ./index.css // out: ./css/
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 4:34:53

elasticsearch-head界面部署:新手教程(CentOS环境)

从零开始部署 elasticsearch-head&#xff1a;CentOS 环境下的实战指南 你是不是刚接触 Elasticsearch&#xff0c;面对一堆 REST API 感到无从下手&#xff1f;想看一眼集群状态、查个索引结构&#xff0c;却要靠 curl 手动请求 JSON 数据——不仅效率低&#xff0c;还容易…

作者头像 李华
网站建设 2026/6/21 17:15:51

ComfyUI视频助手套件:一站式视频处理解决方案

ComfyUI视频助手套件&#xff1a;一站式视频处理解决方案 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 在当今数字内容创作蓬勃发展的时代&#xff0c;视频处理…

作者头像 李华
网站建设 2026/6/15 12:39:02

PyTorch-CUDA-v2.6镜像部署Qwen大模型的实操经验

PyTorch-CUDA-v2.6镜像部署Qwen大模型的实操经验 在当前大模型快速落地的浪潮中&#xff0c;如何高效、稳定地部署像 Qwen 这样的大规模语言模型&#xff0c;已经成为 AI 工程师面临的核心挑战之一。尤其是在资源受限或团队协作场景下&#xff0c;环境配置的复杂性常常成为项目…

作者头像 李华
网站建设 2026/6/23 4:47:39

AssetStudio高效资源管理:Unity资产提取完整实践指南

AssetStudio高效资源管理&#xff1a;Unity资产提取完整实践指南 【免费下载链接】AssetStudio AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles. 项目地址: https://gitcode.com/gh_mirrors/as/AssetStudio AssetStudio作为专…

作者头像 李华
网站建设 2026/6/26 9:51:13

PyTorch-CUDA-v2.6镜像运行MiniCPM进行端侧推理尝试

PyTorch-CUDA-v2.6镜像运行MiniCPM进行端侧推理尝试 在如今大模型遍地开花的时代&#xff0c;越来越多开发者希望在本地设备上跑通一个“能说会道”的语言模型。但现实往往很骨感&#xff1a;环境配置复杂、CUDA版本错配、显存不足、依赖冲突……光是把PyTorch和GPU打通&#x…

作者头像 李华
网站建设 2026/6/20 6:18:12

WaveTools终极指南:如何快速解锁鸣潮120帧完整配置

WaveTools终极指南&#xff1a;如何快速解锁鸣潮120帧完整配置 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 鸣潮工具箱WaveTools作为专业的游戏性能优化工具&#xff0c;通过深度技术解析和精准配置操作…

作者头像 李华