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,性能更优

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1151106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件环境配置

一. Android Studio 1. 配置镜像 阿里云镜像&#xff1a;https://mirrors.aliyun.com/android.googlesource.com/ 使用方法: 打开设置&#xff08;settings&#xff09;。 进入“外观与行为”&#xff08;Appearance & Behavior&#xff09;。 选择“系统设置”&a…

USB Host模式工作原理解析:深度剖析通信机制

USB Host模式工作原理解析&#xff1a;从零构建嵌入式主控系统 你有没有遇到过这样的场景&#xff1a; 想让一块STM32开发板直接读取U盘里的配置文件&#xff1f; 或者希望你的工控终端能像电脑一样“认出”插上去的扫码枪、摄像头甚至移动硬盘&#xff1f; 这时候&#xff…

【47】飞机数据集(有v5/v8模型)/YOLO飞机检测

文章目录 1 数据集介绍1.1 说明1.2 类别 2 训练好的模型结果2.1 YOLOv5模型结果2.2 YOLOv8模型结果 3 数据集获取 ➷点击跳转至数据集及模型获取处☇ 1 数据集介绍 1.1 说明 图片数量1000张&#xff0c;已标注txt格式 训练集验证集测试集按750:200:50划分 可以直接用于目标检…

qserialport在Qt Creator中的使用方法深度剖析

Qt串口通信实战&#xff1a;从零构建稳定可靠的QSerialPort应用 你有没有遇到过这样的场景&#xff1f;手里的开发板明明通电了&#xff0c;但电脑就是收不到任何数据&#xff1b;或者好不容易打开了串口&#xff0c;发出去的指令却像石沉大海。别急——这背后很可能不是硬件问…

前后端分离桂林旅游景点导游平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

&#x1f4a1;实话实说&#xff1a;C有自己的项目库存&#xff0c;不需要找别人拿货再加价。摘要 随着信息技术的快速发展&#xff0c;旅游业逐渐向数字化、智能化转型。桂林作为中国著名的旅游城市&#xff0c;拥有丰富的自然景观和人文资源&#xff0c;但传统的旅游服务模式存…

UDS协议栈中动态定义标识符的实现方法(完整示例)

UDS协议栈中动态定义标识符的实现方法&#xff08;完整示例&#xff09;从一个诊断难题说起你有没有遇到过这样的场景&#xff1a;同一款ECU要适配十几种不同车型&#xff0c;每款车型的传感器配置都不一样。为了支持诊断&#xff0c;传统做法是把所有可能用到的数据都预先定义…

Multisim主数据库无法读取?快速理解Win10/11解决方案

Multisim主数据库打不开&#xff1f;别慌&#xff0c;一文搞懂Win10/11下的根源与实战修复你有没有遇到过这样的场景&#xff1a;刚打开Multisim准备画个简单的放大电路&#xff0c;结果弹出一个红色警告——“multisim找不到主数据库”。元器件库一片空白&#xff0c;搜索框失…

基于SpringBoot+Vue的图书进销存管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

&#x1f4a1;实话实说&#xff1a;C有自己的项目库存&#xff0c;不需要找别人拿货再加价。摘要 随着信息技术的快速发展&#xff0c;传统图书进销存管理方式已难以满足现代企业的需求。手工记录和纸质档案管理效率低下&#xff0c;容易出错&#xff0c;且无法实现数据的实时共…

一文说清HBuilderX安装教程及uni-app初始配置

从零开始&#xff1a;手把手教你安装 HBuilderX 并配置第一个 uni-app 项目 你是不是也遇到过这种情况——想快速开发一个小程序&#xff0c;又不想为每个平台单独写一套代码&#xff1f;或者团队资源有限&#xff0c;却要同时维护 App、H5 和多个小程序版本&#xff1f; 这时…

Java Web Web在线考试系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

&#x1f4a1;实话实说&#xff1a;C有自己的项目库存&#xff0c;不需要找别人拿货再加价。摘要 随着信息技术的快速发展&#xff0c;传统线下考试模式逐渐暴露出效率低、资源浪费、管理困难等问题。在线考试系统因其灵活性、高效性和可扩展性成为教育领域的重要研究方向。尤其…

Keil4从零开始:建立第一个ARM7工程

从零点亮第一颗LED&#xff1a;手把手带你用Keil4搭建ARM7工程你有没有过这样的经历&#xff1f;买了一块ARM开发板&#xff0c;装好了Keil&#xff0c;却卡在“新建工程”这一步——点来点去不知道该选什么芯片、怎么配置内存、为什么编译报错……尤其是面对老旧但经典的ARM7平…

hal_uart_rxcpltcallback与DMA的区别:新手一文说清概念

串口接收怎么选&#xff1f;一文讲透HAL_UART_RxCpltCallback和 DMA 的本质区别你有没有遇到过这种情况&#xff1a;STM32串口只能收到第一包数据&#xff0c;后面就“失联”了&#xff1f;或者系统一接数据就卡顿&#xff0c;UI掉帧、任务延迟&#xff1f;又或者在调试GPS、蓝…

多层板生产挑战:Altium Designer堆叠设计与PCB板生产厂家配合

多层板设计落地难&#xff1f;Altium Designer堆叠配置与PCB厂家协同实战指南 你有没有遇到过这种情况&#xff1a;在Altium Designer里精心设计的六层板&#xff0c;仿真阻抗完美、布线整洁&#xff0c;结果打样回来却发现—— 阻抗不达标、板子翘曲、甚至短路报废 &#xf…

Qtimer与传感器采样:一文说清定时机制

Qtimer与传感器采样&#xff1a;如何用事件驱动打造高精度数据采集系统你有没有遇到过这种情况&#xff1f;在做一个带传感器的嵌入式项目时&#xff0c;想每20ms读一次加速度计的数据。最简单的做法是写个while(1)循环&#xff0c;里面usleep(20000)然后读数据——结果UI卡得像…

OpenAMP在Xilinx Zynq上的驱动实例

OpenAMP在Xilinx Zynq上的驱动实战&#xff1a;从原理到部署的完整解析 多核异构时代&#xff0c;通信架构如何破局&#xff1f; 今天的嵌入式系统早已不是单片机跑裸程序的时代。面对工业自动化、边缘AI推理、实时音视频处理等复杂场景&#xff0c;开发者越来越依赖 高性能高…

基于Wireshark的ModbusTCP报文解析深度剖析

从抓包到故障排查&#xff1a;手把手教你用Wireshark玩转ModbusTCP报文解析你有没有遇到过这样的场景&#xff1f;SCADA系统突然收不到PLC的数据&#xff0c;现场设备却显示一切正常&#xff1b;或者上位机读取寄存器总是返回异常码&#xff0c;但地址明明“没错”&#xff1b;…

AUTOSAR架构深度剖析:BSW模块功能图解说明

AUTOSAR基础软件&#xff08;BSW&#xff09;全栈解析&#xff1a;从寄存器到应用的桥梁当你的ECU“说”不同语言时&#xff0c;谁来翻译&#xff1f;想象一下&#xff1a;一辆车里有上百个ECU——发动机控制、刹车系统、空调、仪表盘、自动驾驶……它们来自不同的供应商&#…

基于Java+SpringBoot+SSM学生交流互助平台(源码+LW+调试文档+讲解等)/学生互助学习平台/学生交流平台/学生互助平台/学习交流互助平台/校园交流互助平台/学生互助交流社区

博主介绍 &#x1f497;博主介绍&#xff1a;✌全栈领域优质创作者&#xff0c;专注于Java、小程序、Python技术领域和计算机毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2025-2026年最新1000个热门Java毕业设计选题…

利用HBuilderX快速搭建H5移动端界面通俗解释

从零开始&#xff0c;用 HBuilderX 快速做出一个能扫码打开的 H5 页面 你有没有遇到过这种情况&#xff1a;老板突然说“明天要上线一个活动页&#xff0c;用户扫码就能看”&#xff0c;而你还完全没头绪&#xff1f;别慌。今天我就带你用 HBuilderX 这个工具&#xff0c;从…

破解多Agent协同困境:ZGI如何通过统一调度实现企业级自动化质变

当技术团队尝试将多个AI Agent引入现有业务流程时&#xff0c;常会陷入一个怪圈&#xff1a;单个Agent表现惊艳&#xff0c;但组合起来却漏洞百出。一个用于订单处理的Agent可能需要等待另一个CRM查询Agent的结果&#xff0c;而审批Agent又卡在第三个策略引擎的响应上。这时&am…