最近我完成了阅读由Filament Group进行的渐进增强设计。在这本书中,他们讨论了基于测试浏览器功能提供两个级别的支持。如果浏览器通过测试,它将获得基于基础的增强体验。如果浏览器失败,它只会获得基本的体验。在纸上,这是非常有意义的,真正开车回家,这是如何建立网站。如何在渐进增强的css中提供多级支持
在我完成这本书之后,我看了一下他们在本书中测试浏览器功能(https://github.com/filamentgroup/EnhanceJS和https://github.com/filamentgroup/enhance以来的新版本)中的脚本enhance.js。在脚本中,没有办法像我预期的那样测试特定的css特性。当然,你可以测试box-model支持,但是如果我的布局依赖于display:table?有没有人测试过这样的功能?这样做是否切合实际?
我从来没有打扰过看过非核心的东西。那里有很多有用的东西,我没有想到。这很有帮助,但我想我真正想问的是,如果对每个浏览器都提供某种级别的支持,无论年龄多大,是否真的很现实? – Dan 2013-02-12 15:39:15
在大多数情况下,可以为所有浏览器提供某种级别的支持。从一个基本的静态页面开始,它可能不是每个浏览器都很漂亮,但它是可读的。然后在CSS上叠加更多的格式和点缀。几乎所有当前使用的浏览器都至少支持CSS 2.1,所以如果您将它用于任何重要的事情,您都非常安全。可以为支持它的浏览器添加JavaScript。 Enhance和Modernizr对于解决缺乏功能很好,但不应该依赖它们,用户可能没有提供或启用JavaScript。 – 2013-02-12 15:58:42
这一切都是有道理的,但我想用一个例子稍微扩展一点: 可以说97%的浏览器打我的网站是ie8 +。在ie8中设置我的基线是否合理,这意味着从ie8开始将会或多或少具有相同的布局和功能。对于其他3%,而不是提供一个可能损坏的经验,而是给他们基本的“安全风格”。 – Dan 2013-02-12 16:13:14