首页 文章

基于IE8和REM的媒体查询

提问于
浏览
3

我想将我的媒体查询基于REM,以支持用户调整各种浏览器缩放和/或基本/浏览器字体大小 . 理想情况下,IE8 .

加载jQuery,HTMLshiv,Respond和REM polyfill,结果显示REM polyfill不支持媒体查询 . 真的不明白为什么,https://github.com/chuckcarpenter/REM-unit-polyfill/issues/60#issuecomment-135187895但这是事实 .

Chuck的意思是“在填充polyfill时忽略MQ规则,因为桌面只需要支持” . 因此,当polyfill踢入MQ支持时被删除了?为什么桌面只需要IE8中的MQ支持?

可能不是某些用户没有完全打开浏览器窗口,而只是屏幕的一半或四分之一,因此屏幕宽度更小?我大部分时间没有全尺寸浏览器能够在其他窗口等工作 .

那么,现在你们如何在IE8中支持基于REM的媒体查询呢?

像这里提到的后退https://stackoverflow.com/a/21122705/1010918会有效吗?

@media screen and (min-width: 26.25rem , min-width: 420px) {

我认为这会起作用(我希望我希望!!)所以我真的离开了为带有条件评论的IE8分配不同的样式表吗?

这是你怎么做的?我可能的其他解决方案是什么?

我已阅读并考虑过所有这些:
Basic CSS features not working in IE8
How do you use mobile-first in IE8
media query unlinking IE8 stylesheet
modernizr for ie8 media query support
What´s best practice to responsive design? Use % or em and rem?
IE8 support for CSS Media Query

检查此视频以获取基于REM的设计示例 . 我确信也可以用ie8以某种方式完成 .
http://webdesign.tutsplus.com/courses/responsive-web-design-revisited/lessons/what-responsive-means-today-and-what-youll-be-building

2 回答

  • 3

    IE8也不支持媒体查询,因此不是polyfill会关闭它,只是因为IE8根本不支持它们 .

    Chuck的意思是“在填充polyfill时忽略MQ规则,因为桌面只需要支持” . 因此,当polyfill踢入MQ支持时被删除了?为什么桌面只需要IE8中的MQ支持?

    他的意思是IE8只能在桌面上运行,所以没有必要以响应的方式支持它 .

    难道不是某些用户没有完全打开浏览器窗口,而只是屏幕的一半或四分之一,因此屏幕宽度更小?我大部分时间没有全尺寸浏览器能够在其他窗口等工作 .

    好吧,也许有必要以一种反应灵敏的方式支持它,但这对开发者来说不是一个足够好的理由 - 他认为增加这种支持的额外困难将是太多的工作,使它值得 .

    他确实在票证中说如果其他人想要完成工作并提交代码更改,那么他会考虑将它们带入库中,但他不打算这样做 .

    这是多少工作?

    嗯,值得再次指出IE8不支持媒体查询 . 因此,为了在IE8中完全获取MQ,您需要使用另一个polyfill库,例如RespondJS .

    因此,使IE8 REM与MQ一起工作的工作实际上是让REM polyfill和RespondJS相互了解并协同工作 - 你很有可能需要对两个库进行更改以使其在所有 . 这可能非常困难 . 我当然可以理解为什么他们决定不打扰 .

    事实上,我认为你将不得不接受在IE8中你不想做的事情 . 除非你想开始在polyfill库中进行黑客攻击以自行修复它 .

  • 1

    实际上你有一个真正的选项,因为我遇到了同样的问题 . 不确定2017年会有很多人对此解决方案感兴趣,但它确实有效!

    https://github.com/nbouvrette/remPolyfill

相关问题