网易首页 > 网易号 > 正文 申请入驻

Ambient CSS:定义光源,阴影高光自动生成

0
分享至

写CSS阴影这件事,很多人都有过同一种疲惫:给按钮加一层box-shadow,给卡片再加一层,给弹窗还得再来一层。每个元素的阴影都是独立的装饰,彼此之间没有任何物理关系。页面里明明有十几个元素,却像是各自活在平行宇宙里,光从哪来、照到谁身上,全靠开发者手动脑补。

Ambient CSS想解决的就是这个问题。它是一个用CSS实现基于物理的照明系统的框架,最大的特点是:只要定义光源,所有阴影、高光、表面渐变都会自动生成。不是给每个元素单独调参数,而是先建立一个共享的照明环境,让所有子元素从这个环境里推导出自己的明暗表现。


光变了,整个容器跟着变

传统做法里,改一个阴影意味着找到那个元素、改它的box-shadow值。如果页面里有多个元素共享同一套光照逻辑,就得改很多次。Ambient CSS把这件事反过来了:在父元素上设置光的方向和强度,容器里所有子元素统一更新。

它的引擎把UI表面建模成一种物理材质,由两个光源系统驱动——主光(key light)和补光(fill light)。每个元素读取共享的CSS自定义属性,然后生成五层复合阴影:

  • 投影:根据物理高度缩放的方向性阴影和半影
  • 圆角高光:朝向光源一侧的镜面内边缘高光
  • 圆角阴影:另一侧边缘的柔和内阴影
  • 倒角高光:光线击中的切面上宽幅的倒角内发光
  • 倒角阴影:阴影边缘处的暗色倒角

照明行为经过物理计算,参照模型是在Blender里搭建的光线追踪3D场景,用来校准CSS渲染出来的效果。

五个维度拼出一个表面

每个元素由五组核心材质特性组合而成,分别控制不同的视觉维度:

  1. 结构:让元素参与照明计算
  2. 表面:背景照明渐变,分平面、凹面、凸面
  3. 边缘:倒角和圆角切割,分倒角、圆角、凹槽
  4. 材质:镜面反射和半透明,分哑光、光亮、玻璃
  5. 深度:投影高度,从0到3级

这五个维度可以自由组合。一个按钮可以是凸面加圆角加光亮材质加1级高度,一个面板可以是平面加倒角加哑光加0级高度。组合方式决定了它在当前光照环境下看起来是什么样。

表面渐变这里有个细节值得注意:它不是固定颜色,而是场景光照下的材质表现。所以一个.amb-surface类就能覆盖所有色相和明暗变化,不需要为每种颜色单独写一套渐变。

两种接入方式,纯CSS或React

如果只想用纯CSS,三步就能跑起来。先执行npm install @ambientcss/css安装包,再把样式表链接进HTML,最后在父元素上挂一个光照环境类名,比如.amb-light-tl表示光从左上角来。子元素加上对应的类名组合,阴影和高光就自动出现了。

React项目走组件路线。安装组件包和CSS包之后,用AmbientProvider包住整个应用,通过theme属性传入光源坐标、主光强度、补光强度。里面的AmbientButton、AmbientKnob、AmbientPanel会自动继承这套光照环境。

组件以预设形式提供,每个预设是运动学、数值、ARIA管理机制和绘制部件的组合。换预设重新渲染,机制会如实反映绘制结果。这意味着交互逻辑和视觉表现是分开的,换一套外观不需要重写行为。

光照方向有八个预设,也能自己调

光照方向提供了八个预设类名,挂在父元素上即可,设置会反映到所有子元素:.amb-light-tl、.amb-light-tr、.amb-light-bl、.amb-light-br、.amb-light-top、.amb-light-bottom、.amb-light-left、.amb-light-right。

如果想要更细致的控制,可以用自定义CSS变量,比如水平方向、垂直方向、主光强度、补光强度、光的色相和饱和度等,都可以单独设置。

表面渐变同样可以通过父元素上的类名来设置,比如.amb-surface、.amb-surface-concave、.amb-surface-concave-h、.amb-surface-convex。还可以用变量控制完全照明下的颜色和反射率等。

Ambient CSS为用CSS实现基于物理的照明系统提供了一套完整方案,纯CSS和React组件两种方式都能用。感兴趣的话可以去官网看演示。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
央行一日开出4张大额罚单,广发银行、渤海银行等4家银行领罚

央行一日开出4张大额罚单,广发银行、渤海银行等4家银行领罚

澎湃新闻
2026-09-25 15:00:26
日本年轻人开始"取消吃饭"!巨大生活压力之下,他们选择了不吃饭...

日本年轻人开始"取消吃饭"!巨大生活压力之下,他们选择了不吃饭...

英国那些事儿
2026-09-25 01:35:25
罗欣棫:明天是新的一天,我们要在亚运会上争取更好的名次

罗欣棫:明天是新的一天,我们要在亚运会上争取更好的名次

懂球帝
2026-09-25 19:13:28
落后3.5米也能赢?张展硕最后25米头都不抬,日本队被他遛了一圈

落后3.5米也能赢?张展硕最后25米头都不抬,日本队被他遛了一圈

李侽在北漂
2026-09-25 14:07:58
13投0中!女篮遗憾出局,中国篮球惨败,连失4冠,苏群点评直击要害

13投0中!女篮遗憾出局,中国篮球惨败,连失4冠,苏群点评直击要害

小七说篮球
2026-09-25 19:27:10
热搜上令人窒息的“母女吃牛肉面一幕”,精神穷人可怕的三观

热搜上令人窒息的“母女吃牛肉面一幕”,精神穷人可怕的三观

蝴蝶花雨话教育
2026-08-18 09:57:05
裤衩开叉10厘米!被网暴5年!铁三女神夺亚军又被骂,裁判:合规

裤衩开叉10厘米!被网暴5年!铁三女神夺亚军又被骂,裁判:合规

番外行
2026-06-07 15:53:29
万万没想到,天天喊着强硬的特朗普,竟成了最愿意给中国“挡刀”的人。

万万没想到,天天喊着强硬的特朗普,竟成了最愿意给中国“挡刀”的人。

回京历史梦
2026-09-24 11:10:22
中方是否邀请特朗普出席APEC深圳峰会?外交部回应

中方是否邀请特朗普出席APEC深圳峰会?外交部回应

澎湃新闻
2026-09-24 16:46:49
小米澎程还能这么玩 第一批车主已经开始赚钱了:在车里开上美甲店

小米澎程还能这么玩 第一批车主已经开始赚钱了:在车里开上美甲店

快科技
2026-09-23 09:45:07
前无古人!若莎头组合夺得亚运会混双冠军,将有以下五大收获!

前无古人!若莎头组合夺得亚运会混双冠军,将有以下五大收获!

田先生篮球
2026-09-25 21:09:31
2005年与2025年的张靓颖,女人过了30,越来越有女人味

2005年与2025年的张靓颖,女人过了30,越来越有女人味

娱你同欢
2026-07-29 22:42:29
新华社怒赞!一场亚运会,炸出中国三位05后潜力股,网友集体叫好

新华社怒赞!一场亚运会,炸出中国三位05后潜力股,网友集体叫好

书写传奇
2026-09-24 23:24:02
工龄18.08年,个人账户253355元,江苏50岁退休,养老金算多吗?

工龄18.08年,个人账户253355元,江苏50岁退休,养老金算多吗?

养老规划罗姐说
2026-09-25 19:53:20
特努斯不愧是搞硬件出身的苹果CEO,给iPhone 18 Pro系列机型用低端零件,让用户花更多的钱买到更烂的产品

特努斯不愧是搞硬件出身的苹果CEO,给iPhone 18 Pro系列机型用低端零件,让用户花更多的钱买到更烂的产品

逍遥漠
2026-09-23 09:58:20
日本房价暴跌,上万人自尽,吸取日本的教训,中国紧急“刹车”!

日本房价暴跌,上万人自尽,吸取日本的教训,中国紧急“刹车”!

乌克兰小静
2026-08-30 00:54:23
特朗普待客是用心的:请出精通中文的外孙女

特朗普待客是用心的:请出精通中文的外孙女

列国漫游
2026-09-25 11:49:48
游本昌病逝,享年93岁!女儿泣诉:拍完《繁花》后5年没走出来

游本昌病逝,享年93岁!女儿泣诉:拍完《繁花》后5年没走出来

洲洲影视娱评
2026-09-25 19:20:14
释永信被女徒弟爆料,凌晨4点去他房间,拿到皈依证就算师徒关系

释永信被女徒弟爆料,凌晨4点去他房间,拿到皈依证就算师徒关系

汉史趣闻
2025-07-30 09:57:38
飙涨 8 倍,一场危机引发的史诗级疯狂

飙涨 8 倍,一场危机引发的史诗级疯狂

叶檀财经
2026-09-24 22:43:22
2026-09-25 22:04:49
野生运营
野生运营
懂点产品,懂点AI,正在努力给平淡日子搞点新花样。
286文章数 93关注度
往期回顾 全部

科技要闻

华为赛力斯,一次声势浩大的权、利再分配

头条要闻

小伙记录母亲离世最后14天 母亲曾称"太痛苦了回家吧"

头条要闻

小伙记录母亲离世最后14天 母亲曾称"太痛苦了回家吧"

体育要闻

这场青春风暴,中国足球等了太久

娱乐要闻

定居温哥华,59岁王祖贤首谈退圈真相

财经要闻

月饼卖不动了...

汽车要闻

小鹏G9L VS 保时捷卡宴,同场实测讲解

态度原创

家居
旅游
数码
时尚
公开课

家居要闻

2026建博会(广州) 公装联探展交流活动

旅游要闻

金山朱泾千年花灯会中秋启幕,双节文旅盛宴持续至10月7日

数码要闻

冠捷推出34英寸AOC带鱼屏显示器:WQHD 200Hz,国补价1613.7元

9点半睡,起床超漂亮?46岁蔡依林爱自己的方式,比医美还管用!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版