呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #CSS #CodePen #前端 #demo
Playing With CodePen slideVars | CSS-Tricks:介绍 CodePen 官方推出的 slideVars 工具,它可以自动检测 CSS 变量并生成交互式控制面板,现在在 codepen 里写交互式 Demo 更方便了。

GitHub: https://github.com/codepen/slideVars
AI 摘要:这篇文章介绍了 CodePen 新推出的原生工具 slideVars,帮助开发者快速为演示项目添加交互式调节面板。相比以往需要引入第三方库(如 TweakPane 或 Knobs)或编写复杂的 JavaScript,slideVars 能够自动识别 CSS 变量并生成 UI 控件。作者详细展示了从快速起步到手动配置参数、自定义单位、处理作用域(Scope)以及调整面板布局的高级用法,是提升前端 Demo 交互体验的利器。
#demo #codepen #前端 #CSS #SVG
文本框边框动画旋转 [CSS & SVG] V2
在 Fernando Cohen 制作的这个流畅的 CSS 和 SVG 动画中,文字栅栏围绕着一张照片的边缘。看看悬停照片时会发生什么

看了一下原理,这是一个使用 SVG 和 CSS 创建的文字沿着有机形状边框旋转动画效果。
首先使用 SVG Blob 形状生成,创造有机的 blob 形状

<path d="M43.1,-68.5C56.2,-58.6,67.5,-47.3..." />


这个路径数据可能来自 Blob Generator 等工具

然后是使用 clip-path 进行图片裁剪,将矩形图片裁剪成 blob 形状,同时通过 preserveAspectRatio="xMidYMid slice" 确保图片填充满整个区域。

<clipPath id="blobClip">
  <path d="..." transform="translate(100 100)"/>
</clipPath>
<image clip-path="url(#blobClip)" />


然后使用 pathLength 进行文字路径动画,定义文字路径

<path id="text" d="..." fill="none" stroke="none" pathLength="100" />


• pathLength="100" 标准化路径长度,便于动画计算
• fill="none" stroke="none" 路径本身不可见,仅作为文字轨迹

将文字沿路径排列:

<text class="text-content">
  <textPath href="#text" startOffset="0%">
    ❤️ MADE WITH LOVE ❤️ MADE WITH LOVE...
    <animate attributeName="startOffset" 
             from="0%" to="100%" 
             dur="15s" 
             repeatCount="indefinite" />
  </textPath>
</text>


• <textPath> 让文字沿着指定路径排列
• startOffset 控制文字在路径上的起始位置
• <animate> 元素实现 SMIL 动画(SVG 原生动画)

那无缝循环是怎么做的呢?他用了两段文字,当第一段文字从 0% 移动到 100% 时,尾部会消失,第二段文字从 -100% 移动到 0%,正好填补空白。两段文字首尾相连,形成无缝循环。

<textPath href="#text" startOffset="0%">
  <animate from="0%" to="100%" />
</textPath>

<textPath href="#text" startOffset="100%">
  <animate from="-100%" to="0%" />
</textPath>


最后是这个交互式缩放效果,是通过悬停时放大裁剪区域(而非整个 SVG)来做的。
#codepen #demo #前端 #canvas
果冻压扁按钮

好可爱的按钮!看了一下原理。

这不是真正的 3D 果冻,而是通过快速切换预渲染的图片序列来模拟果冻挤压效果,类似电影胶片的原理。预加载了 215 张连续的果冻形变图片,这些图片记录了果冻从静止到被挤压到回弹的完整动画过程,通过切换不同帧号的图片来做的。

你需要预留一点时间来压扁这个东西。无论是垂直拖动光标,还是单击 "跟随鼠标 "复选框,都可以将这个由 Voicu Apostol 制作的内含果冻的按钮的压扁效果与鼠标移动联系起来。
#codepen #demo #CSS #动画 #前端
写……写轮眼(x)
花瓣
Riley Shaw 分享了一朵梦幻般的 CSS 和 JS 花朵,花瓣如万花筒般旋转 🪷
#codepen #demo #WebGL #shader #动画 #前端
美丽,有点想改改色放博客头图
霓虹正弦波效果 GLSL
Fabio E Zola 的这段 GLSL 动画中,闪烁的正弦波脉动着。您可以暂停动画、截屏,或从顶部的控制面板切换像素比例。
#前端 #demo #codepen #CSS
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
#demo #codepen #WebGL #前端
好萌 🎄

https://codepen.io/creativeocean/pen/zxqEWYd

Tom Miller 用这段精美的 JavaScript 圣诞树点亮视频拉开了节日季的序幕。将鼠标悬停在树上,即可让它闪耀夺目!
#demo #codepen #WebGL #前端
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 Swiper
#codepen #前端 #CSS
Creepy Button

"这个按钮在监视你"。从 Jon Kantner 这款俏皮的按钮下面探出头来,你会发现一双卡通眼睛正在跟踪你的一举一动👀
#demo #动画 #CSS #SVG #codepen
Hopping Marbles:循环的纯 CSS + SVG 的跳跃弹珠动画,很有创意!

“一段以弹珠为主角的伪 3D 循环动画,设计成类似预加载器的效果。此外,孔洞底部还使用了特殊的 SVG clip paths 以及一些秘密交替的路径。”——Jon Kantner
#demo #codepen #动画
CSS 作用域自定义属性轨迹网格
在 Jhey Tompkins 设计的这款可配置 Pen 中,将鼠标悬停在加号网格上,即可观看它们变换颜色和旋转。您还可以通过顶部的控制面板调整网格大小和主题颜色。
#demo #codepen #前端
酷是挺酷的,但是感觉 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 的循环动画,用趣味视觉缓解用户体验挫败感。
#demo #codepen #WebGL #Shader
写着色器的真的很 NB,每次看到都很佩服。
Juicy:Matthias Hurrle 的又一次关于次表面散射(subsurface scattering)的实验,模拟水果糖果风格的魔方。
#demo #codepen #CSS #动画
这个是真的酷!
Gallery Button:纯 CSS 相册预览动画,具备折叠展开的纸张效果
#前端 #demo #codepen #webgl #着色器
一组抛光的着色器
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
#demo #codepen #svg #gsap #动画
Rainbow Loop 彩虹循环
Tom Miller takes inspiration from a rainbow of crayon colors by wearepretendfriends for this brilliant GSAP-fueled SVG animation.
Tom Miller 从 wearepretendfriends 的彩虹蜡笔颜色中汲取灵感,制作了这个精彩的 GSAP 驱动的 SVG 动画。
#优质博文 #CSS #demo #codepen #动画 #svg #webgl #液态玻璃
也是一个 Liquid Glass Web 实现合集 demo 整理,有几个实现的确实漂亮啊~
Liquid Glass on the Web

AI 摘要:本文深入探讨了 Apple 即将在其操作系统中全面采用的 Liquid Glass(液态玻璃)设计风格,并分析现有 web 技术如何实现这一视觉效果。作者梳理了 Liquid Glass 在网页端的多种实现方法,包括 CSS 的 backdrop-filter 和 SVG 滤镜(filter),并特别关注了该效果在可访问性(accessibility)上的挑战。文中还介绍了社区工具与实践案例,并指出 Liquid Glass 视觉语言强调的不仅是玻璃质感,还包含液体流动的动态感。


author Chris Coyier
 
 
Back to Top