我想将我的媒体查询基于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
答案 0 :(得分: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 :(得分:1)
你真的有一个真正的选项,因为我遇到了同样的问题。不确定2017年会有很多人对此解决方案感兴趣,但它确实有效!