解决收缩膜:新的实验技术
Solving Shrinkwrap: New Experimental Technique

原始链接: https://kizu.dev/shrinkwrap-solution/

这篇文章详细介绍了一种新的CSS技术,以实现真正的“紧密包裹”——即使内容换行到多行,元素的大小也能准确反映其内容,这长期以来一直是网页布局中的一个挑战。作者利用最新的CSS特性,特别是锚点定位和滚动驱动动画,来测量元素内部内容并动态调整其外部尺寸。 该技术涉及一个嵌套的HTML结构,其中包含一个“探测”元素,用于测量内容的大小,并通过动画将其传回父元素。虽然在稳定的Chrome和Safari浏览器中可用(具有优雅降级),但目前仍处于实验阶段,并且可能导致Safari崩溃。 作者展示了该技术在各种场景中的有效性,包括聊天气泡、字段集/图例、叠加图像标题和工具提示,展示了它如何改进以前的解决方法。更复杂的情况,例如相互依赖的换行菜单项,仍然具有挑战性,但通过内容复制的方法来解决。 文章概述了该技术的API(HTML结构和CSS自定义属性),并承诺后续文章将详细介绍所使用的远程尺寸测量方法。最终,作者建议探索用于更简单紧密包裹情况的本机CSS解决方案,认为这可以解决开发人员面临了十多年的问题。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 解决收缩包装:新的实验技术 (kizu.dev) 34 分,来自 spiros 12 小时前 | 隐藏 | 过去的 | 收藏 | 2 条评论 rimunroe 10 小时前 [–] > 例如,我在 Safari 中偶尔遇到崩溃。我找到了一种解决方法,但强烈建议在使用本文中的任何内容之前要小心。另外,虽然我没有在其他设备和非 WebKit 浏览器上检查过,但我的 iPhone 16 Pro 上,此页面导致我的功耗激增,并且手机明显发热。回复 samtheprogram 9 小时前 | 父评论 [–] 我来表达类似的意思;在 Android Firefox 上,页面滚动卡顿。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

In this article, I present my new technique for solving a CSS problem that was deemed impossible — true shrinkwrapping of an element with auto-wrapped content. By using anchor positioning and scroll-driven animations, we can adjust our element’s outer dimensions by measuring its inner contents, demonstrating that for many cases this can already work and might unlock a future native feature.

联系我们 contact @ memedata.com