我试图弄清楚如何简化响应式设计的开发过程。标准方法是首先使用从移动设备到桌面大小的媒体查询来设计移动设备。
我看到的问题是支持 IE7 和 IE8。每个人都会使用的解决方案是使用 response.js。支持那些禁用 javascript 的人怎么样?有什么我没看到的吗?
编辑:我知道禁用 JS 的用户比例非常小。这是这个项目的要求。
我试图弄清楚如何简化响应式设计的开发过程。标准方法是首先使用从移动设备到桌面大小的媒体查询来设计移动设备。
我看到的问题是支持 IE7 和 IE8。每个人都会使用的解决方案是使用 response.js。支持那些禁用 javascript 的人怎么样?有什么我没看到的吗?
编辑:我知道禁用 JS 的用户比例非常小。这是这个项目的要求。
Mobile First 遵循优雅降级的道路。简而言之,“我们仅在这一点上提供向后支持,否则您将一无所获”。对于较旧的浏览器,您将一无所获。这是脚本试图做的 polyfill、补丁和变通方法的路径。
另一方面,Progressive Enhancement只满足浏览器所能做的所有基本功能。这就像“我们支持您支持的最新内容”。这是你正在尝试做的,也是你应该做的。
因此,让我们利用 CSS 是级联的事实。最初使用固定或流体布局,然后是响应式布局。对于不理解媒体查询的浏览器,它们只会忽略它,而让您的固定或流动样式大放异彩。
移动浏览器支持媒体查询或最有可能打开 JS。Wap 浏览器也可以愉快地使用流畅的布局。
*对于 JS,95% 的用户都开启了 JS。其他 5% 的人
*现在,其中有多少实际上是浏览器?很可能是#3 和#4。它是 IE 的可能性有多大?1/3?为了使用纯 CSS,没有 JS 方法,达到 5% 人口的 1/3 的概率是多少?
不要依赖于可能性存在的事实。这些是极端情况,在现实世界中,十亿只发生了 1%。正如来自 UX 的人所说:人口统计。
*夸大的估计
只需使用 ie.css 表的条件注释为较旧的 IE 制作桌面大小的固定宽度版本。(见http://html5boilerplate.com/一个很好的例子)
Respond.js 通常运行非常缓慢,并且比“传统固定宽度”IE 7,8 更难调试。所以要支持更多的工作(即使它不是支持非 js 用户的项目要求的一部分)。
从最终用户的角度考虑它。如果我需要借用运行 IE 7 的祖母的米色塔,我宁愿拥有一个速度更快、宽度固定的站点,而不是一个有缺陷、响应缓慢的站点。这些也是旧计算机,用户习惯于固定宽度的站点。
还可以考虑使用 SASS 来帮助解决断点问题。我最喜欢的 mixin 是“Breakpoint”。在此处查看与支持不支持媒体查询的浏览器相关的文档。简而言之,您将一个变量添加到媒体查询以查看“导出到我的 IE.css = true”,然后这些将成为您的 ie.css 工作表的核心组件,并且需要做的自定义 IE 工作更少。
https://github.com/Team-Sass/breakpoint/wiki/No-Query-Fallbacks
现在是 2013 年。如果有人禁用了 js,他们知道他们的网络体验会很糟糕。不仅在您的网站上,而且在任何地方。它不到 1% 的用户,所以不用担心。您可以/应该基本上假设 js 已启用。