渐进增强和优雅降级之间有什么区别
之前在看一些css3效果demo的时候,发现有些写css3属性时,兼容性的写法顺序不太一样,比如transition属性,有些把transition放在前面有些是放在后面,当然这也有可能包含了coder个人的习惯或是强迫性>"<,比如下面这两种:
.transition{
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.transition{ transition: all .5s;
-o-transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
}
带前缀的排列应该只是为了整齐吧(还是代表了对浏览器的喜好程度)?但是transition放在前面还是后面却引申了两个概念:优雅降级和渐进增强。
优雅降级和渐进增强印象中是随着css3流出来的一个概念。由于低级浏览器不支持css3,但css3的效果又太优秀不忍放弃,所以在高级浏览中使用css3而低级浏览器只保证最基本的功能。咋一看两个概念差不多,都是在关注不同浏览器下的不同体验,关键的区别是他们所侧重的内容,以及这种不同造成的工作流程的差异。
什么是渐进增强(progressive enhancement)、优雅降级(graceful degradation)呢?
渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
“优雅降级”观点
“优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
“渐进增强”观点
“渐进增强”观点则认为应关注于内容本身。
内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得“渐进增强”成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
以上是渐进增强和优雅降级之间有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何将iOS17降级到iOS16您可以使用Mac和Windows电脑切换到任何版本的iOS设备。您需要做的第一件事是使用Lightning电缆将iPhone或iPad连接到计算机,并且您已经迈出了将设备还原到iOS16的第一步。以下是将iOS17降级到iOS16的方法:在Mac上启动“查找”图标将设备置于恢复模式恢复您的设备在Mac(或在WindowsPC上启动iTunes)上启动Finder在Mac上启动Finder或启动iTunes(如果您使用的是WindowsPC)。这将作为门户,带回您渴

如何优雅地使用Go和context进行错误处理在Go编程中,错误处理是一项非常重要的任务。优雅地处理错误可以提高代码的可读性、可维护性和稳定性。而Go语言的context包则为我们提供了一种非常方便的方式来处理与错误相关的操作。本文将介绍如何优雅地使用Go和context进行错误处理,并提供相关的代码示例。引言Go语言的错误处理机制是通过返回错误值的方式来实

如何通过Webman增强网站的安全性在当今数字化时代,网站的安全性变得尤为重要。Webman是一种强大的工具,用于提高网站的安全性和保护用户的隐私。在本文中,我们将探讨如何使用Webman来增强网站的安全性,并提供一些代码示例。使用HTTPS协议使用HTTPS协议是保障网站安全的基本步骤。通过使用HTTPS,网站能够加密用户和服务器之间传输的数据,防止黑客窃

Laravel框架介绍:优雅的PHP开发新选择引言:在过去的几年中,PHP开发领域一直在不断发展和壮大。而在众多PHP框架中,Laravel无疑是一款备受瞩目的框架之一。它以其清晰简洁的语法、全面的功能和卓越的性能而受到开发者的喜爱。本文将向你介绍Laravel框架的基本特点,并通过代码示例展示其灵活和优雅的开发风格。一、Laravel框架的特点1.优雅的代

Rust增强PHP:解决现有编程语言的瓶颈,需要具体代码示例随着互联网行业的快速发展,Web开发已经成为当今最重要的开发领域之一。而作为最受欢迎的服务器端脚本语言之一,PHP在Web开发中扮演着重要的角色。然而,随着业务和用户需求的不断增长,传统的PHP开发也会面临诸多挑战和瓶颈。这时候,Rust可以作为一种强大的编程语言来增强PHP,帮

网络已成为人们生活中不可或缺的一部分,在现代社会中。我们常常遇到WiFi信号弱或不稳定的情况,然而,这给我们的网络体验带来了不便。提升上网速度和稳定性,本文将介绍一些利用手机来增强WiFi信号的妙招,帮助读者解决网络连接问题。调整手机位置以确保信号接收强度最大化、将手机放置在距离WiFi路由器尽可能近的位置。避免障碍物遮挡信号传输,优选开放空间。使用手机WiFi信号放大器这些应用程序可以增强手机接收和发送WiFi信号的能力,下载并安装手机WiFi信号放大器App,有效提升信号强度和稳定性。使用手

苹果ARKit6ARKit6引入了4K视频捕获功能,可让您创建令人惊叹的AR体验高分辨率视频。无论您是专业的视频编辑、电影制作人还是社交媒体爱好者,此功能都非常适合无缝集成虚拟和现实世界的内容。通过扩展对HDR视频和高分辨率背景图像捕获的支持,您的创作将真正栩栩如生。位置锚点Apple继续通过LocationAnchors扩大AR体验的覆盖范围。在ARKit6中,蒙特利尔、悉尼、新加坡和东京等新城市加入了支持地点的行列。这意味着这些城市的用户现在可以享受特定位置的AR内容,进一步模糊了虚拟世界和

PHP8.1更新:增强的XML解析功能随着互联网的快速发展,XML(可扩展标记语言)在数据交换和信息传递中扮演了重要的角色。作为一种通用的数据格式,XML经常被用于在不同应用程序之间传递和存储数据。为了提供更好的XML解析能力,PHP8.1在XML解析功能上进行了增强,为开发者提供了更多便利。在PHP8.1中,一个重要的改进是引入了libxml_disabl
