呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#前端 #demo #codepen #CSS
CSS 之神在上,这太酷了。
Animated Hover Disclosures
https://fixupx.com/jh3yy/status/1940066323658158198
CSS 之神在上,这太酷了。
Animated Hover Disclosures
jhey ʕ•ᴥ•ʔ(@jh3yy): transitioning CSS grid-template-columns on :focus/:hover means the parent container won't change size 🏅
https://fixupx.com/jh3yy/status/1940066323658158198
#前端 #CSS #demo
这太酷了~
https://fixupx.com/jh3yy/status/1816290576087515620
这太酷了~
jhey ʕ•ᴥ•ʔ (@jh3yy): This CSS trick is fascinating ⭐️
By setting: [type=range] { overflow: hidden; }
You can create a view timeline on the handle:
::-webkit-slider-thumb { view-timeline: --thumb inline; }
And then you can use that to build all sorts of custom range sliders 🚀
https://fixupx.com/jh3yy/status/1816290576087515620
#demo #codepen #WebGL #前端
好萌🎄
https://codepen.io/creativeocean/pen/zxqEWYd
好萌
https://codepen.io/creativeocean/pen/zxqEWYd
Tom Miller 用这段精美的 JavaScript 圣诞树点亮视频拉开了节日季的序幕。将鼠标悬停在树上,即可让它闪耀夺目!
#demo #codepen #WebGL #前端
Cinematic Ocean Scroll Scene
Cinematic Ocean Scroll Scene
在这个由 Filip Zrnzevic 创作的交互式 Three.js/GSAP Pen 中,您可以漫步于 JavaScript 海洋,欣赏日落美景,感受宁静祥和的氛围。别忘了尝试各种控件,打造属于您自己的独特体验。
#codepen #demo #CSS #前端 #新特性
Can You Build A Swipe UI With Only CSS?
这个 Codepen 例子使用了现代 CSS 的 Scroll Snap (滚动捕捉) 和 Container Queries (容器查询) 特性,来实现类似原生应用的滑动操作(如左滑删除、右滑收藏)
虽然 CSS 处理了滑动交互,但浏览器默认的滚动位置通常是 0(最左边)。因为左边有一个按钮,所以默认会显示左边的红色按钮。这段 JS 代码在页面加载时,自动将滚动条位置设置到中间元素的位置,确保用户一开始看到的是正常内容,而不是操作按钮。(注:视频中是说在 Safari 上的位置)
视频讲解在这里
这种方式比传统的监听 touchmove 事件来计算位移要流畅得多,因为滚动是在合成线程上处理的。
Refs:
1. Practical CSS Scroll Snapping
2. CSS scroll snap
3. https://web.dev/articles/rendering-performance#3_js_css_style_composite
Can You Build A Swipe UI With Only CSS?
这个 Codepen 例子使用了现代 CSS 的 Scroll Snap (滚动捕捉) 和 Container Queries (容器查询) 特性,来实现类似原生应用的滑动操作(如左滑删除、右滑收藏)
虽然 CSS 处理了滑动交互,但浏览器默认的滚动位置通常是 0(最左边)。因为左边有一个按钮,所以默认会显示左边的红色按钮。这段 JS 代码在页面加载时,自动将滚动条位置设置到中间元素的位置,确保用户一开始看到的是正常内容,而不是操作按钮。(注:视频中是说在 Safari 上的位置)
视频讲解在这里
这种方式比传统的监听 touchmove 事件来计算位移要流畅得多,因为滚动是在合成线程上处理的。
Refs:
1. Practical CSS Scroll Snapping
2. CSS scroll snap
3. https://web.dev/articles/rendering-performance#3_js_css_style_composite
#demo #codepen #动画
CSS 作用域自定义属性轨迹网格
CSS 作用域自定义属性轨迹网格
在 Jhey Tompkins 设计的这款可配置 Pen 中,将鼠标悬停在加号网格上,即可观看它们变换颜色和旋转。您还可以通过顶部的控制面板调整网格大小和主题颜色。
#demo #codepen #前端
酷是挺酷的,但是感觉 UX 不太符合用户直觉?
Custom curved scrollbars
核心原理是隐藏原生滚动条,在容器上方叠加一层 SVG,画一条沿容器圆角轮廓的轨迹,并将滚动条当作这条路径上的一段子路径来渲染,用视口高度与内容高度的比例计算滚动条长度。
拖动时根据指针的垂直位置换算滚动比例写回 scrollTop,滚动与窗口尺寸变化时同步重算路径,颜色与粗细则由 CSS 变量和交互状态控制。
via Codepen Spark#478
酷是挺酷的,但是感觉 UX 不太符合用户直觉?
Custom curved scrollbars
Chris Bolson 分享了曲线滚动条主题的两种变体:一种是超级曲线,另一种是更微妙的曲线。"滚动条遵循容器的边框半径,长度根据内容数量计算"。
核心原理是隐藏原生滚动条,在容器上方叠加一层 SVG,画一条沿容器圆角轮廓的轨迹,并将滚动条当作这条路径上的一段子路径来渲染,用视口高度与内容高度的比例计算滚动条长度。
拖动时根据指针的垂直位置换算滚动比例写回 scrollTop,滚动与窗口尺寸变化时同步重算路径,颜色与粗细则由 CSS 变量和交互状态控制。
via Codepen Spark#478
#demo #codepen #动画 #CSS #SVG #设计
404 Error Face:Jon Kantner 基于 Camo Creative 的设计,将 404 错误页转为纯 CSS 和 SVG 的循环动画,用趣味视觉缓解用户体验挫败感。
404 Error Face:Jon Kantner 基于 Camo Creative 的设计,将 404 错误页转为纯 CSS 和 SVG 的循环动画,用趣味视觉缓解用户体验挫败感。
#前端 #demo #codepen #webgl #着色器
一组抛光的着色器
Orbs N Ringz by Matthias Hurrle
是建立在 tw_orbsNringz 上的着色器实现
via CodeSparkle#467
一组抛光的着色器
Orbs N Ringz by Matthias Hurrle
是建立在 tw_orbsNringz 上的着色器实现
Orbs N Ringz
Matthias Hurrle carves out a set of polished shapes in this "Fun little shader doodle, heavily influenced by KomaTebe's tw_OrbsNRingz. I just wanted to recreate it with only a fragment shader so I could play around with it."
via CodeSparkle#467
#优质博文 #前端 #WebGL #three #demo
看了这篇突然意识到我写的那篇好烂ww完全不是面向基础的教程欸~感觉这种一步步来的真不好写。
Interactive Text Destruction with Three.js, WebGPU, and TSL | Demo
author Lolo Armdz
看了这篇突然意识到我写的那篇好烂ww完全不是面向基础的教程欸~感觉这种一步步来的真不好写。
Interactive Text Destruction with Three.js, WebGPU, and TSL | Demo
AI 摘要:本文是一篇关于使用 Three.js、WebGPU 和 Three Shader Language (TSL) 实现互动文字破坏效果的详细教程。作者通过一步步的代码示例和讲解,展示了如何在 Web 上创建动态的 3D 文字效果,利用指针位置和弹簧物理原理实现文字的变形与破坏动画,同时结合后处理技术增强视觉效果。文章不仅提供了技术实现细节,还分享了作者对 Web 互动体验发展的感悟,强调了 Three.js 等工具如何让 Web 重新焕发创意活力。
1. 文字几何体 (TextGeometry):
• 内容:使用 TextGeometry 创建 3D 文字,配置字体、大小、深度、斜角等参数,并应用 MeshStandardMaterial 材质。通过计算 BoundingBox 将文字居中对齐。
• 总结:实现了 3D 文字的创建与居中,为后续的互动效果做好准备。
2. Three Shader Language (TSL):
• 内容:详细介绍了使用 TSL 实现文字破坏效果的核心逻辑。包括存储顶点原始位置和法线、创建模拟数据的存储缓冲区、在 GPU 上运行初始化和更新计算函数、使用 uniforms 传递指针位置等数据、通过弹簧物理和摩擦力实现动态变形效果、添加噪声和旋转以增强动画的混乱感。
• 总结:通过 TSL 实现了基于指针位置的顶点变形和动态动画效果,展示了 GPU 计算在互动设计中的应用。
3. 材质与后处理:
• 内容:调整材质的发光颜色 (emissive color),通过速度缓冲区偏移色调以产生多样化效果,并添加雾效和背景颜色。引入后处理技术,包括环境光遮蔽 (AO)、泛光 (bloom) 和噪声效果,提升画面质感。
• 总结:通过材质调整和后处理技术,增强了视觉表现力,使破坏效果更具冲击力。
author Lolo Armdz
#前端 #demo #动画 #css #codepen
https://fixupx.com/jh3yy/status/1945596617802867087
https://codepen.io/jh3y/pen/xxvVWxN
jhey ʕ•ᴥ•ʔ(@jh3yy): number range slider using 3D CSS transforms
sometimes a shift in perspective unlocks a new solution
check the reveal👇
使用 3D CSS 转换的数字范围滑块
有时,视角的转变会解锁新的解决方案
检查显示 👇
https://fixupx.com/jh3yy/status/1945596617802867087
https://codepen.io/jh3y/pen/xxvVWxN