CSS灯光效果,背景黑金效果
先看效果

再看代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>灯光效果</title><link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700&display=swap" type="text/css" rel="Stylesheets"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script><style>:root {--glitter: url("https://assets.codepen.io/13471/silver-glitter-background.png");--ratio-x: .5;--ratio-y: .75;--from-center: .5;}main {--bgoffsetx: calc( 2.9px * var(--ratio-x));--bgoffsety: calc( 4.3px * var(--ratio-y));--pointerx: calc( 100% * var(--ratio-x));--pointery: calc( 100% * var(--ratio-y));--h: calc( 360deg * var( --from-center ) );--s: calc( 90% * var( --from-center ) );background: linear-gradient(135deg, hsl(28deg, var(--s), 15%), hsl(198deg, var(--s), 15%)), var(--glitter), var(--glitter), radial-gradient(farthest-corner circle at var(--pointerx) var(--pointery), white 20px, rgba(237, 222, 222, 0.38) 150px, black 65%);background-position: calc( 70% + var(--bgoffsetx) ) calc( 70% + var(--bgoffsety) ), calc( 30% - var(--bgoffsetx) ) calc( 30% - var(--bgoffsety) );background-size: cover, 560px auto, 400px auto, cover;background-blend-mode: overlay, multiply, color, overlay;transition: opacity 4s ease-out;}main.loading {opacity: 0;}main {image-rendering: optimizeQuality;transform: translate3d(0, 0, 0.01px);}main * {pointer-events: none;text-anchor: middle;}main svg {mix-blend-mode: color-dodge;fill: #908190;opacity: calc( 1.5 - var(--from-center) );filter: drop-shadow(0 0 30px black) drop-shadow(0 0 10px black) brightness(1.3);}body {color: black;background: black;font-family: "Cinzel", sans-serif;}html, body, main {box-sizing: border-box;margin: 0;padding: 0;height: 100%;width: 100%;display: grid;place-items: center;grid-row: 1;}img {position: absolute;width: 1px;height: 1px;opacity: 0;}.social-icon {stroke-width: 1.25;stroke: cyan;fill: none;stroke-linecap: round;stroke-linejoin: round;position: absolute;bottom: 10px;right: 10px;width: 24px;height: 24px;z-index: 10;-webkit-animation: iconsLoad 10s ease both 1s;animation: iconsLoad 10s ease both 1s;}.social-icon.twitter {right: 40px;-webkit-animation-delay: 0s;animation-delay: 0s;}@-webkit-keyframes iconsLoad {from {opacity: 0;}to {opacity: 1;}}@keyframes iconsLoad {from {opacity: 0;}to {opacity: 1;}}</style>
</head>
<body>
<main id=app class=loading><svg viewBox="-50 0 100 20"><text x="0" y="15">Illuminate</text></svg>
</main>
<img src="https://assets.codepen.io/13471/silver-glitter-background.png" loading=lazy><a class="social-icon github" href="https://blog.csdn.net/qq_35241329?type=blog"><svg viewBox="0 0 24 24"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path></svg>
</a>
</body>
<script>// 👆鼠标移动跟随代码$("main").on("pointermove", (e) => {interacted = true;const { x, y } = e.originalEvent;const BOX = e.target.getBoundingClientRect();const POINT = { x: x - BOX.x, y: y - BOX.y };const RATIO = { x: POINT.x / BOX.width, y: POINT.y / BOX.height };const CENTER = fromCenter( RATIO );// 设置css中引用的一些css变量e.target.style.setProperty( "--ratio-x", RATIO.x );e.target.style.setProperty( "--ratio-y", RATIO.y );e.target.style.setProperty( "--from-center", CENTER );});// 数字 🤷♀️function fromCenter({ x, y }) {return Math.min(Math.max( 0, Math.sqrt( (y - .5) * (y - .5) + (x - .5) * (x - .5) ) / .5 ), 1 );}let interacted = false;$("img").on("load", () => {// ⏰ 惰性负载触发不透明度$("main").removeClass("loading");// ✨ 小介绍演示动画$({foo:0}).animate({foo:(Math.PI*3)}, {duration: 8000,easing: "swing",step: function(val) {if ( !interacted ) {document.querySelector("#app").style.setProperty("--ratio-x", (Math.cos(val) + 1.5) / 3);document.querySelector("#app").style.setProperty("--ratio-y", (Math.sin(val) + 2) / 4);}}});});
</script>
</html>
相关文章:
CSS灯光效果,背景黑金效果
先看效果 再看代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>灯光效果</title><link href"https://fonts.googleapis.com/css2?familyCinzel:wght700&dis…...
这里推荐几个前端icon网站(动图网站)
1. Loading.ioLoading.io 是一个免费的加载动效(Loading animations)图标库。它提供了多种风格的加载动效图标,包括 SVG、CSS 和 Lottie 动画格式。这些加载图标可以增强用户体验,为网站和应用程序添加更佳的视觉效果。 网站地址:loading.io - Your SVG GIF PNG Ajax Loading…...
【图神经网络】用PyG实现图机器学习的可解释性
Graph Machine Learning Explainability with PyG 框架总览示例:解释器The Explanation ClassThe Explainer Class and Explanation SettingsExplanation评估基准数据集Explainability Visualisation实现自己的ExplainerAlgorithm对于异质图的扩展解释链路预测 总结…...
HarmonyOS ArkTS Ability内页面的跳转和数据传递
HarmonyOS ArkTS Ability的数据传递包括有Ability内页面的跳转和数据传递、Ability间的数据跳转和数据传递。本节主要讲解Ability内页面的跳转和数据传递。 打开DevEco Studio,选择一个Empty Ability工程模板,创建一个名为“ArkUIPagesRouter”的工程为…...
MySQL 8.0.29 instant DDL 数据腐化问题分析
前言Instant add or drop column的主线逻辑表定义的列顺序与row 存储列顺序阐述引入row版本的必要性数据腐化问题原因分析Bug重现与解析MySQL8.0.30修复方案 前言 DDL 相对于数据库的 DML 之类的其他操作,相对来说是比较耗时、相对重型的操作; 因此对业务的影比较严…...
Haproxy搭建负载均衡
Haproxy搭建负载均衡 一、常见的Web集群调度器二、Haproxy介绍1、Haproxy应用分析2、Haproxy的主要特性3、Haproxy负载均衡策略 三、LVS、Nginx、Haproxy之间的区别四、Haproxy搭建Web群集1、Haproxy服务器部署2、节点服务器部署3、测试Web群集 五、日志定义1、方法一2、方法二…...
SpringBoot:SpringBoot启动加载过程 ④
一、思想 我们看到技术上高效简单的使用,其实背后除了奇思妙想的开创性设计,另一点是别人帮你做了复杂繁琐的事情。 二、从官网Demo入手 官网就一行代码。这个就是它的启动代码。 1、SpringBootApplication注解 ①. 三个核心注解的整合。 SpringBootCon…...
抽象轻松JavaScript
真真假假,鬼鬼,谁知道什么是真什么是假 疑点二:什么是真,什么是假 核心:确定一个清晰的目的,可以达到目的就是真,达不到就是假 知道了核心开始举例 考大学,考上大学就是满足目的…...
深入理解CSS字符转义行为
深入理解CSS字符转义行为 深入理解CSS字符转义行为 前言为什么要转义?CSS 转义什么是合法css的表达式 左半部分右半部分 练习参考链接 前言 在日常的开发中,我们经常写css。比如常见的按钮: <button class"btn"></button>&am…...
【论文阅读】(2023.05.10-2023.06.03)论文阅读简单记录和汇总
(2023.05.10-2023.06.08)论文阅读简单记录和汇总 2023/05/10:今天状态,复阳大残,下午淋了点雨吹了点风,直接躺了四个小时还是头晕- -应该是阳了没跑了。 2023/06/03:前两周出差复阳,这两周调整作息把自己又…...
FPGA开发-ddr测试
文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 例如: 本文以米联科开发板为例,介绍ddr测试相关例程。 整体架构流程 提示:这里可以添加技术整体架构 技术名词解释 提示:这…...
BUUCTF 大帝的密码武器 1
题目描述:(下载题目,然后修改后缀名为.zip打开:) 公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以…...
Linux 查看目录个数和大小
一、查看某目录下的文件个数 1. 查看目录下的文件个数 即当前目录/hdapp目录下有多少个文件,文件夹不计入数值 ls -l | grep "^-"| wc -l下面的命令文件夹也会计入数值 ls | wc -w2. 查看指定目录下的文件个数 如果省略指定目录就是默认当前目录 ls…...
Unity制作二次元卡通渲染角色材质——4 、内外描边和细节添加
Unity制作二次元材质角色 回到目录 大家好,我是阿赵。 这里继续讲二次元角色材质。这次打算讲一下描边和细节的添加。 一、外描边 外描边的做法也不止一种,比如后处理方法的偏导数ddx/ddy之类的,也能整个屏幕的求出边缘。但一般来说单模型渲…...
Ubuntu安装GCC10
使用包安装的方式安装 sudo apt upgradesudo apt install software-properties-commonsudo add-apt-repository ppa:ubuntu-toolchain-r/test QA: 更新python3.7后出现ModuleNotFoundError: No module named ‘apt_pkg‘错误QA: Cannot import name ‘_gi’ sudo apt updatesu…...
【flutter】Dart 规范2
高效 Dart 语言指南:用法示例 每天在你写的 Dart 代码中都会应用到这些准则。库的使用者可能不需要知道你在其中的一些想法,但是维护者肯定是需要的。 库 这些准则可以帮助你在多个文件编写程序的情况下保证一致性和可维护性。为了让准则简洁…...
k8s CoreDns详解
一、概述 服务发现是 K8s 的一项很重要的功能。K8s 的服务发现有两种方式,一种是将 svc 的 ClusterIP 以环境变量的方式注入到 pod 中;一种就是 DNS,从 1.13 版本开始,coreDNS 就取代了 kube dns 成为了内置的 DNS 服务器。 Cor…...
c++ 连sqlserver
//要在 C 中连接 SQL Server 数据库,可以使用 Microsoft 提供的 SQL Server Native Client 或者 //ODBC 驱动程序。以下是使用 SQL Server Native Client 连接数据库的基本步骤: //1. 安装 SQL Server Native Client 驱动程序。 //2. 在 C 代码中包含头…...
给钉钉的2个建议
1. 建议.MD文件可以实现在线编辑 .MD文件可以实现在线编辑。 现状:word、excel、txt等文件都可以实现在线编辑,期望.MD文件也可以进行在线编辑,便于喜欢用.MD文旦交流的人使用。 2. 增加群内根据关键词自定义提醒功能 随着个人加入的群聊增多…...
STL之优先级队列(堆)的模拟实现与仿函数(8千字长文详解!)
STL之优先级队列(堆)的模拟实现与仿函数 文章目录 STL之优先级队列(堆)的模拟实现与仿函数优先级队列的概念priority_queue的接口介绍优先级队列的构造函数 priority_queue模拟实现类成员构造函数向下调整算法——正常实现 push向…...
久鼎私域测流模式系统(现成方案)
久鼎私域测流模式系统是一套专注于私域流量监测与分析的解决方案,适用于企业精细化运营私域用户池。其核心功能包括流量来源追踪、用户行为分析、转化效果评估等,支持多平台数据整合。核心功能模块流量监测 实时监控私域流量入口(如小程序、公…...
Java后端如何通过异步非阻塞方式提高美团外卖API并发调用能力
Java后端如何通过异步非阻塞方式提高美团外卖API并发调用能力 在“外卖霸王餐”等高并发业务场景中,系统往往需要同时调用美团、饿了么等多个第三方API。传统的同步阻塞IO模型(如使用RestTemplate或HttpClient直接调用)会导致Tomcat工作线程在…...
CPCIe507全国产信号处理板卡:FT-M6678+JFM7VX690T互联调试
CPCIe507 为标准的6U CPCIe 板卡,采用全国产芯片设计。出于匠行科技技术团队。主处理器采用复旦微电子FPGA JFM7VX690T36和长城银河多核 DSP FT-M6678N,二者之间通过SRIO x5 互联。板卡对外高速接口为PCIe3.0 x4、预留GTH x4,低速接口RS422 x…...
动态链接库emp.dll详解:从原理到实战修复
动态链接库emp.dll深度解析:技术原理与高效修复指南 引言:动态链接库的现代价值 在Windows系统的软件生态中,动态链接库(DLL)如同建筑中的预制构件,通过代码复用机制显著提升了开发效率和系统资源利用率。emp.dll作为其中一员&…...
单片机死循环设计与中断机制解析
1. 单片机程序为何需要死循环设计第一次接触单片机编程时,很多初学者都会对main()函数里那个看似"不合理"的while(1)死循环产生疑问。我当年在实验室调试第一个51单片机项目时,也曾向导师提出过同样的问题。经过这些年的项目实践,我…...
SAP物料账核心:手把手配置OBYC中的GBB与PRD科目(含OMSK评估类关联详解)
SAP物料账核心:手把手配置OBYC中的GBB与PRD科目(含OMSK评估类关联详解) 在SAP系统中,物料账管理是连接物流与财务的关键桥梁。对于财务人员而言,理解物料移动如何触发财务过账,以及如何通过后台配置实现精准…...
全平台广告拦截神器:AdGuard扩展零门槛部署与优化指南
全平台广告拦截神器:AdGuard扩展零门槛部署与优化指南 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 广告拦截技术已成为现代浏览器的必备能力,AdG…...
利用AI写教材,掌握低查重方法,让你的教材脱颖而出!
许多教材编写者常常会有一种失落感:在花费大量心血完成了主体内容后,配套资源的不足却影响了整体的教学效果。针对课后练习的题型设计,常常缺乏创新的思路;想要制作直观的教学课件,却没有相应的技术能力;对…...
Python 序列化实战指南:性能开销剖析、格式取舍与API/RPC协议优化
Python 序列化实战指南:性能开销剖析、格式取舍与API/RPC协议优化 📌 为什么序列化开销值得每位Python开发者关注? Python作为“胶水语言”,从1991年诞生至今,已成为Web开发、数据科学、AI和自动化领域的绝对主力。其…...
OpenClaw 的模型服务是否支持基于策略的流量控制?
关于OpenClaw模型服务是否支持基于策略的流量控制,这个问题其实触及了现代AI服务部署中一个相当核心的环节。直接说结论的话,答案是肯定的,但更值得探讨的是它具体如何实现,以及这种支持在实际场景中意味着什么。 在技术架构层面&…...
