【发布时间】:2019-06-25 17:29:49
【问题描述】:
我是 JS 新手,想以编程方式找到应用于当前网页的所有基于屏幕宽度的断点(至少所有媒体查询,包括最小值或最大值)。我是否需要将样式表解析为纯文本并以这种方式查找断点?或者有其他方法吗?
我查看了可能有助于找到这些的手动方法和半自动化工具,但我想以编程方式执行纯 JavaScript 代码来查找当前加载的网页的所有基于屏幕宽度的断点(至少是媒体查询)。
@media (min-width: 1281px) {
//CSS
}
@media (min-width: 1025px) and (max-width: 1280px) {
//CSS
}
@media (min-width: 768px) and (max-width: 1024px) {
//CSS
}
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
//CSS
}
@media (min-width: 481px) and (max-width: 767px) {
//CSS
}
@media (min-width: 320px) and (max-width: 480px) {
//CSS
}
//e.g. credited https://gist.github.com/gokulkrishh/242e68d1ee94ad05f488
我希望输出所有屏幕宽度断点 ['320','480','481','767','768','1024','1025','1280','1281'] . 感谢您的建议。
【问题讨论】:
-
我猜你需要使用正则表达式解析所有的 CSS 和 JS 文件——但是有这么多的插件和不同的方法可以做到这一点,你真的需要确切地知道如何网站存储他们的媒体查询以便执行此操作。