返回介绍

9.1 渐进增强与优雅降级

发布于 2024-08-18 00:24:15 字数 1204 浏览 0 评论 0 收藏 0

你可能听过“渐进增强”和“优雅降级”这两个词。它们是处理多浏览器支持的两种方法论,并在Web社区中引发过激烈的辩论。虽然最初它们看起来是两个可互换的概念,但本质上则完全相反。下面是我的理解。

优雅降级指的是为现代浏览器制作网站,然后保证为某些老版本浏览器提供基本可用的体验。新特性在老版本浏览器中会降级,且一般会有一个分界点,声明不支持那些老掉牙的浏览器。有些时候用户也仅会被警告他们所使用的浏览器有问题,建议其更换(如“您的浏览器老得让人笑话——建议下载最新版浏览器!”)。

渐进增强与优雅降级恰好相反。渐进增强以恪守Web标准的标签为基础,意味着它在所有浏览器中均可用。然后通过CSS样式和必要的JavaScript来为更先进的浏览器提供渐进式的增强体验。

讨论过这两种方法优劣的文章数以百计。我们先来看看来自Opera开发者社区的这篇:http://dev.opera.com/articles/view/graceful-degradation-progressive-enhancement/,以及来自Aaron Gustafson的经典之作:http://www.alistapart.com/articles/understandingprogressiveen hancement。

现状

目前,渐进增强被普遍认为是开发网站的最佳实践。然而,冰冷的现实是,我虽然打心眼里喜欢渐进增强并用它来制作网站,但很多情况下可以说我是用优雅降级的方式来做的。怎么会这样呢?

www.andthewinnerisnt.com这个网站是使用HTML5制作的。IE6、7、8是在HTML5之前就已被开发和发布出来了(你应该知道,HTML5虽然日益普及,但它还不是一个被正式批准的标准),所以无法识别<aside>、<section>和<footer>这样的标签。因此,从纯粹意义上讲我不应该使用HTML5元素。追加一段JavaScript来解决这个功能问题——这就是真正的渐进增强吗?

尽管如此,除非有什么让我信服的理由,否则我都一直选用HTML5来替代HTML 4.01。现实是,根据我的日常工作经验,HTML5利大于弊。在使用HTML5时,一定要编写与标准兼容的HTML代码(可以使用HTML5验证工具来排除代码错误,地址是:http://validator.nu/或http://validator.w3.org/),好让所有设备都能以原生方式完美渲染。

无论如何,有时你肯定会选择(或是被逼无奈)去实现一些现代浏览器提供的增强功能,可能是为了那些老弱的IE。比如你想让它能支持圆角,不过在你这么做之前,请再听我啰嗦几句……

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文