2013-02-12 25 views
0

最近我完成了阅读由Filament Group进行的渐进增强设计。在这本书中,他们讨论了基于测试浏览器功能提供两个级别的支持。如果浏览器通过测试,它将获得基于基础的增强体验。如果浏览器失败,它只会获得基本的体验。在纸上,这是非常有意义的,真正开车回家,这是如何建立网站。如何在渐进增强的css中提供多级支持

在我完成这本书之后,我看了一下他们在本书中测试浏览器功能(https://github.com/filamentgroup/EnhanceJShttps://github.com/filamentgroup/enhance以来的新版本)中的脚本enhance.js。在脚本中,没有办法像我预期的那样测试特定的css特性。当然,你可以测试box-model支持,但是如果我的布局依赖于display:table?有没有人测试过这样的功能?这样做是否切合实际?

回答

1

Modernizr是一个流行的库,提供类似的功能测试。在download页面上有很多可供选择的预建测试可供选择,包括测试display: tablecss-displaytable,非核心检测部分)。他们还举办了一系列polyfills,可帮助弥补您可能想要使用的某些缺失功能。

+0

我从来没有打扰过看过非核心的东西。那里有很多有用的东西,我没有想到。这很有帮助,但我想我真正想问的是,如果对每个浏览器都提供某种级别的支持,无论年龄多大,是否真的很现实? – Dan 2013-02-12 15:39:15

+0

在大多数情况下,可以为所有浏览器提供某种级别的支持。从一个基本的静态页面开始,它可能不是每个浏览器都很漂亮,但它是可读的。然后在CSS上叠加更多的格式和点缀。几乎所有当前使用的浏览器都至少支持CSS 2.1,所以如果您将它用于任何重要的事情,您都非常安全。可以为支持它的浏览器添加JavaScript。 Enhance和Modernizr对于解决缺乏功能很好,但不应该依赖它们,用户可能没有提供或启用JavaScript。 – 2013-02-12 15:58:42

+0

这一切都是有道理的,但我想用一个例子稍微扩展一点: 可以说97%的浏览器打我的网站是ie8 +。在ie8中设置我的基线是否合理,这意味着从ie8开始将会或多或少具有相同的布局和功能。对于其他3%,而不是提供一个可能损坏的经验,而是给他们基本的“安全风格”。 – Dan 2013-02-12 16:13:14