呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页: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
#优质博文 #CSS #前端 #新特性
MDN:@scope - CSS | MDN
文章:How to @scope CSS Now That It’s Baseline
author Daniel Schwarz
@scope 已获得所有主流浏览器支持,定义了新的 CSS 作用域上下文。MDN:@scope - CSS | MDN
文章:How to @scope CSS Now That It’s Baseline
AI 摘要:@scope CSS 规则是现代前端开发中一项重要的新特性,它允许开发者在 CSS 中定义明确的作用域,从而解决了传统 CSS 全局作用域导致的样式冲突和管理难题。文章详细阐述了 @scope 在 <style> 块和外部 CSS 文件中的不同使用方式,包括如何利用 :scope 伪类指定作用域根,以及通过 to 关键字创建“甜甜圈作用域 (Donut Scope)”来限制样式生效范围。同时,作者还探讨了 :scope 在 JavaScript DOM API 中的应用,并提出了一种平衡代码组织与性能优化的综合实践策略,旨在帮助开发者更灵活、高效地管理和应用 CSS 样式。
author Daniel Schwarz
#博客更新 #图片优化 #Shell
最近需要处理别人的服务器上大量历史图片的压缩问题。因为历史遗留原因(别问,问就不是我的锅) 累积了不少高分辨率的全景图和常规照片,占用存储空间越来越大。
虽然之前在前端生产环境中一直使用
这篇文章记录了完整过程,希望对有类似需求的朋友有所帮助。
欢迎勘误拷打我知道肯定有更好的方法但是反正都压缩完了。
使用 ImageMagick 和 libvips 进行服务器端批量图片压缩
最近需要处理别人的服务器上大量历史图片的压缩问题。因为历史遗留原因(别问,问就不是我的锅) 累积了不少高分辨率的全景图和常规照片,占用存储空间越来越大。
虽然之前在前端生产环境中一直使用
sharp-cli 和 @napi-rs/image 等进行图片处理,但这次面对的是已存储的历史图片批量压缩场景,并且这次提供的环境是堡垒机,只能通过网页终端进行操作,没有 GUI,需要更灵活的命令行工具。这篇文章记录了完整过程,希望对有类似需求的朋友有所帮助。
使用 ImageMagick 和 libvips 进行服务器端批量图片压缩
#优质博文 #前端 #CSS #渐进增强 #新特性 #course
一篇关于
Directional CSS with scroll-state(scrolled)
[以下是方便搜索索引的大纲(AI 生成),请读原文]
author Una
一篇关于
scroll-state(scrolled) 很详细的介绍,该查询允许开发者根据用户最新的滚动方向来应用样式,从而实现响应式用户界面。Directional CSS with scroll-state(scrolled)
AI 摘要:本文详细介绍了 Chrome 144 中新增的 scroll-state(scrolled) CSS 查询。作为 scroll-state() 容器查询 (container queries) 家族的一部分,它使开发者能够根据用户最近的滚动方向动态调整页面元素的样式。文章首先解释了其工作原理,包括如何设置 container-type: scroll-state 以及 scrolled 查询接受的不同方向值。随后,通过几个实用的案例演示了其应用,包括在用户向下滚动时隐藏顶部导航栏并在向上滚动时重新显示(使用 fixed 或 sticky 定位),以及结合滚动触发动画 (scroll-triggered animations) 实现方向性的元素进入效果。文章强调了这种新特性在渐进增强 (Progressive Enhancement) 方面的优势,展示了无需 JavaScript 即可实现复杂交互的可能性。
[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. scroll-state(scrolled) 查询介绍
• 新特性:Chrome 144 中引入的 CSS 新查询,用于根据用户滚动方向应用样式。
• 核心功能:允许开发者基于用户最新的滚动方向来动态修改元素的样式。
2. 工作原理
• scroll-state() 查询家族:scrolled 是 scroll-state() 容器查询 (container queries) 的一个新成员,同系列还包括 stuck、snapped 和 scrollable。
• 启用方式:需在父元素上设置 container-type: scroll-state。
• 查询语法:通过 @container scroll-state(<type>: <value>) 规则块来应用基于滚动状态的样式。
3. scrolled 查询的详细说明
• 检测目标:检测最近期的相对滚动方向。
• 支持值:
• 方向性值:top、right、bottom、left。
• 逻辑方向值:block-start、inline-start、block-end、inline-end。
• 轴向速记:x、y、block、inline。
• 初始状态:none,表示容器尚未发生相对滚动。
• 动态性:浏览器会实时更新此状态,允许根据用户滚动方向(向上、向下、向左、向右)来为子元素设置样式。
4. 实际应用案例
• 案例一:使用固定定位 (fixed positioning) 实现的隐藏导航栏 (Hidey-bar)
• 功能描述:当用户向下滚动时隐藏顶部导航栏,向上滚动时重新显示。
• 优势:增加屏幕可视空间,且无需完全滚动回顶部即可访问导航。
• 渐进增强 (Progressive Enhancement):不支持此特性的浏览器将始终显示导航栏,不影响基本功能。
• 案例二:使用粘性定位 (sticky positioning) 实现的隐藏导航栏 (Hidey-bar)
• 作者偏好方案:采用 position: sticky 实现类似的导航栏隐藏/显示功能。
• 渐进增强优势:对于不支持的浏览器,导航栏保持原有的粘性定位行为,不破坏现有用户体验。
• 用户体验:导航栏在开始滚动时动画隐藏,向上滚动时动画出现。
• 案例三:方向性滚动进入动画 (Directional scroll entry animation)
• 实现原理:结合 scroll-state(scrolled) 和实验性的滚动触发动画 (scroll-triggered animations) API,根据滚动方向改变元素的进入动画效果。
• 示例:根据是向上滚动还是向下滚动,使卡片从不同的方向(例如,从底部或从顶部)滑入视图。
• 发展前景:尽管当前的滚动触发动画 API 仍处于早期阶段并存在一些限制(如动画重播问题),但其潜力巨大,有望实现更自然的用户界面动效。
author Una
Demo 这个也很酷。
How to Create a Pixel-to-Voxel Video Drop Effect with Three.js and Rapier
AI 摘要:本教程详细介绍了如何利用 Three.js、着色器 (shaders) 和 Rapier 物理引擎,将 2D 视频流转化为动态的 3D 体素 (voxel) 下落效果。文章从核心概念——像素和重力——出发,逐步讲解了如何构建一个由 InstancedMesh 和刚体 (rigid bodies) 组成的平面,通过着色器实现平铺像素到 3D 体素的涟漪 (ripple) 变形效果,并最终通过 JavaScript 模拟涟漪进程来激活物理引擎,使体素在逼真的物理作用下散射和恢复。作者还分享了实现过程中的技术细节、优化考量以及未来扩展的可能性。
author Junichi Kasahara
很有创意的一个滚动驱动的 portfolio 页面:Mr. Panda's Psychologically Safe Portfolio
• 开源在:GitHub - andrewwoan/mr-pandas-psychologically-safe-portfolio
• 技术解析视频:How I created a Hand-drawn Papercraft Portfolio with Three.js, Blender, React, and Krita
author Andrew Woan
#优质博文 #前端 #WebGL #Shaders #demo
很 NB 的 ASCII 艺术生成网站 https://efecto.app/ 之前发过,这篇是作者的详细技术解析。
Efecto: Building Real-Time ASCII and Dithering Effects with WebGL Shaders | Codrops
author Pablo Stanley
很 NB 的 ASCII 艺术生成网站 https://efecto.app/ 之前发过,这篇是作者的详细技术解析。
Efecto: Building Real-Time ASCII and Dithering Effects with WebGL Shaders | Codrops
AI 摘要:本文作者 Pablo Stanley 分享了他如何开发 Efecto 应用,在网络上实时实现图像抖动(dithering)和 ASCII 艺术效果,并结合 WebGL 着色器(shaders)模拟 CRT 显示器视觉效果的经验。文章详细介绍了抖动算法(如 Floyd-Steinberg、Atkinson 等)的原理与代码实现,多色调色板的应用,以及如何通过数学函数在着色器中绘制 ASCII 字符。此外,还探讨了扫描线(scanlines)、屏幕曲率(screen curvature)、色差(chromatic aberration)等 CRT 特效的实现,并讨论了 CPU 和 GPU 在这些效果实现中的分工,最后总结了从历史算法到现代 Web 开发的宝贵经验。
author Pablo Stanley
一个 CVSS 9.8 的洞是因为什么呢?一个库硬编码了默认验证令牌。
https://github.com/rustfs/rustfs/security/advisories/GHSA-h956-rh7x-ppgj
#碎碎念
建了个 discord 群虽然不怎么上 discord()
因为后知后觉的意识到虽然我用 tg 聊天比较多,但是 discord 群作为公开群好像比较合适比较方便(嗯?)
总之想找我聊天的可以加 后续应该会作为各种项目里边 link 的公开群
https://discord.gg/XzvrvNMcSe
建了个 discord 群虽然不怎么上 discord()
因为后知后觉的意识到虽然我用 tg 聊天比较多,但是 discord 群作为公开群好像比较合适比较方便(嗯?)
https://discord.gg/XzvrvNMcSe
#优质博文 #前端 #新动态 #PWA #浏览器
A first look at the Web Install API
ref: The Web Install API is ready for testing
author Chris Coyier
A first look at the Web Install API
ref: The Web Install API is ready for testing
AI 摘要:文章探讨了新兴的 Web Install API,该 API 已在 Chromium 浏览器中进入原生试用 (Origin Trial) 阶段,并在 Microsoft Edge beta 版中展现出最完整的功能。此 API 的核心目标是民主化和去中心化网络应用的获取方式,允许网站通过简单的按钮点击直接安装 PWA (Progressive Web Apps)。虽然该 API 有望获得跨浏览器兴趣,但 Safari 可能由于其已有的“添加到 Dock (Add to Dock)”功能而成为推广的挑战。文章还简要提及了 Service Worker 技术的重要性,强调其在实现离线功能和缓存控制方面的强大作用。
author Chris Coyier
#前端 #设计 #tools #CSS
https://fixupx.com/HeyHuazi/status/2007006539345969332
SkyWT(@skywt2003): 求教,那些看起来很漂亮的渐变背景都是怎么做出来的?
为什么我随便画几个几何图形叠加模糊,就没那么好看
Huazi(@HeyHuazi): 用现成的😂 来一些周刊提到过的
https://grainient.supply
https://patterncraft.fun
https://fffuel.co
https://uvcanvas.com/docs/components
Corey Chiu(@realcoreychiu): http://gradientshub.com 直接抄
https://fixupx.com/HeyHuazi/status/2007006539345969332