news 2026/1/14 7:38:03

CSS3 技术拓展学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSS3 技术拓展学习笔记

CSS3 技术拓展学习笔记

一、SVG 基础与动画

1. SVG 是什么

SVG(Scalable Vector Graphics)是一种基于 XML 的矢量图形标准,由 W3C 制定。

核心特点:

  • 无损缩放:放大缩小始终清晰
  • 文件体积小:适合网络与高分辨率设备
  • 可编辑:可直接修改 SVG 代码
  • 可交互:支持 CSS / JavaScript 控制
  • 兼容性好:主流浏览器原生支持

常用资源:

  • Iconfont:https://www.iconfont.cn/
  • Undraw:https://undraw.co/

2. SVG 组成结构

  • <svg>:SVG 根元素,SVG 图标必须包裹在该标签中
  • <path>:路径元素
    • 使用d属性定义路径指令
    • 常见指令:
      • M:移动画笔到指定坐标
      • Z:闭合路径

3.SVG 图标常见CSS属性


二、clip-path 裁剪

clip-path用于裁剪元素的可视区域,可创建复杂几何形状。使元素仅显示被裁剪区域内的部分。

clip-path:circle(50% at 50% 50%);clip-path:polygon(0 0,100% 0,100% 80%,0 100%);

可视化工具:

  • https://tools.jb51.net/static/api/css3path/index.html

📌 使用建议:

  • 常配合hover/transition
  • 移动端注意性能开销

三、CSS 滤镜 filter

filter用于当前元素及其子元素本身的实时图像处理,无需修改原始素材。

滤镜函数作用示例
blur()高斯模糊blur(5px)
brightness()调整元素亮度
<1 变暗; >1 变亮
brightness(150%)
contrast()调整元素对比度contrast(200%)
saturate()调整背景饱和度saturate(150%)
grayscale()将元素转化为灰度图grayscale(100%)
hue-rotate()调整元素色相(改变颜色倾向)hue-rotate(90deg)
sepia()将元素转换为深褐色,复古效果sepia(70%)
drop-shadow()为元素添加投影,支持非矩形元素drop-shadow(5px 5px 5px #000)

📌drop-shadow支持非矩形元素,比box-shadow更灵活。


四、背景滤镜 backdrop-filter(毛玻璃效果)

backdrop-filter用于元素背后的区域(背景内容),常用于实现毛玻璃、磨砂效果。

.glass{background:rgba(255,255,255,0.3);backdrop-filter:blur(10px)saturate(150%);}

常用 backdrop-filter 滤镜函数

滤镜函数作用说明语法示例
blur()高斯模糊blur(5px)
brightness()调整背景亮度100% 为原始亮度<100% 变暗,>100% 变亮brightness(150%)
contrast()调整背景对比度contrast(200%)
saturate()调整背景饱和度0%(无色彩)100%(原饱和)>100%(更高饱和)saturate(150%)
grayscale()灰度效果0% 原色,100% 完全灰度grayscale(100%)
hue-rotate()调整背景色相hue-rotate(90deg)
sepia()深褐色 / 复古效果sepia(70%)
drop-shadow()为背景内容添加投影(支持非矩形)drop-shadow(5px 5px 5px #669)

📌 注意事项:

  • 通常与半透明背景配合使用,才能实现类似“毛玻璃”的视觉效果
  • 处理的是背景内容,不是元素自身
  • 性能消耗较大,避免大面积使用

五、CSS 动画时间线 animation-timeline

将动画进度绑定到滚动或可视状态

animation-timeline:scroll();//滚动时间线animation-timeline:view();//视图时间线
  • 滚动时间线:动画随滚动推进
  • 视图时间线:动画随元素进入/离开视口

📌 常见场景:官网滚动动画、视差效果


六、CSS 变量(Custom Properties)

:root{--main-color:#f00;}.box{color:var(--main-color);}
  • :root:全局变量,全局作用域
  • 选择器内部:局部变量,仅影响该元素及其子元素

七、calc() 与计算能力

width:calc(100% - 40px);
  • 运算符前后必须有空格
  • 可以执行数学运算(加减乘除),支持混合单位
  • 常与vw / vh / rem搭配使用

八、vw / vh 视口单位

  • 1vw= 视口宽度的 1%
  • 1vh= 视口高度的 1%
section{height:100vh;}

适用于:全屏布局、响应式设计


九、补充知识点

  • 1turn= 旋转一周 =360deg
  • 动画优先使用transform / opacity,性能更优
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/13 2:54:26

图解说明高速信号串扰抑制布线技巧

高速信号串扰怎么防&#xff1f;从PCB布线细节讲透实战技巧你有没有遇到过这样的情况&#xff1a;电路板明明照着原理图连好了&#xff0c;上电却频频出错——数据传着传着就乱码&#xff0c;DDR写入失败&#xff0c;高速接口握手不成功。查电源&#xff1f;正常。看时序&#…

作者头像 李华
网站建设 2026/1/14 4:32:16

新手教程:如何在Kibana中使用Elasticsearch功能

从零开始&#xff1a;用 Kibana 玩转 Elasticsearch&#xff0c;新手也能轻松上手你有没有遇到过这样的场景&#xff1f;线上服务突然报错&#xff0c;日志成千上万条刷屏&#xff0c;却不知道问题出在哪&#xff1b;或者老板问“最近系统响应慢是不是真的&#xff1f;”&#…

作者头像 李华
网站建设 2026/1/13 2:51:09

USB3.0接口定义引脚说明:工业通信模块设计基础

USB3.0接口引脚详解&#xff1a;工业通信模块设计的实战指南在智能制造、工业自动化和边缘计算快速演进的今天&#xff0c;数据吞吐量呈指数级增长。从多通道高速ADC采集到机器视觉实时传输&#xff0c;传统USB2.0已难以满足需求。而USB3.0凭借其5Gbps的理论带宽、全双工通信能…

作者头像 李华
网站建设 2026/1/13 2:41:49

ARM 项目首次编译报错 error: c9511e 的全面讲解

一招解决 ARM 编译报错 error: c9511e&#xff1a;工具链找不到&#xff1f;别急&#xff0c;这才是根本原因 你有没有在第一次打开一个 ARM 项目时&#xff0c;刚点下“Build”&#xff0c;就弹出这样一条红色错误&#xff1a; error: c9511e: unable to determine the cur…

作者头像 李华
网站建设 2026/1/13 2:41:37

Elasticsearch 8.x 面试题核心要点:一文说清常见考点

Elasticsearch 8.x 面试通关指南&#xff1a;从原理到实战&#xff0c;一文讲透高频考点当你被问“ES是怎么实现快速搜索的”&#xff0c;到底在考什么&#xff1f;如果你正在准备后端、数据或运维类岗位的技术面试&#xff0c;Elasticsearch&#xff08;简称 ES&#xff09;几…

作者头像 李华
网站建设 2026/1/13 2:38:53

Windows版Packet Tracer汉化兼容性深度剖析

Windows版Packet Tracer汉化&#xff1a;从原理到实战的兼容性突围 你有没有过这样的经历&#xff1f;打开Packet Tracer准备做实验&#xff0c;刚点开“File”菜单&#xff0c;一连串英文蹦出来——“New,” “Open,” “Save As…” 虽然不算难懂&#xff0c;但每次都要在脑子…

作者头像 李华