将 CSS 断点导入 JavaScript

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 $200 免费积分!

假设您需要在 CSS 媒体查询断点更改时让 JavaScript 执行某些操作。 这就是 matchMedia 的用途,但它的支持度不如媒体查询,并且要求您在 CSS 和 JS 中维护这些断点。

人们一直在为这个问题想出解决方案。 甚至就在 CSS-Tricks 上,比如 Enquire.js,一种 基于动画的技术,它避免了调整大小事件,甚至 利用 Sass

Mike Herchel 的解决方案是更改 :before 在 body 上的内容并获取该值作为窗口调整大小。 当 CSS 断点到达时,该值将更改,允许您在 JavaScript 中做出反应。

三个想法:1)如果您绑定在调整大小上,可能需要 去抖动。 2)如果您无法或不想去抖动,请在执行任何其他操作之前测试该值是否已更改。 3)为断点制定良好的 命名策略

直接链接 →