学习CSS/HTML的过程中,当出现释义冲突时,W3C(万维网联盟)官网所陈列的技术标准是最核心的判断参考。但是新手在查阅W3C标准索引页面时,会发现同一个属性或者模型会出现多个不同的阶段规范展示结果。对于不能流畅阅读英文原版内容的同学来说,十分不友好,同时多个不同规范标识拥有不同的含义,其所表达的规范被不同浏览器支持的程度也会呈现很大差异性。

W3C中的规范有以下几种:

ED编辑草案(Edited  Draft)

FPWD首个公开工作草案(Frist Public Working Draft)

WD工作草案(Working Draft)

CR候选标准(Candidate Recommendation)

PR提名推荐规范(Proposed Recommendation)

REC正式推荐规范(recommendation)

Note工作组备忘(Group Note)

PER已修正的提名推荐规范(Proposed Edited Recommendation)

ret旧版规范(Retired)

W3C虽然是非营利性互联网标准制定的组织,但是它并非组织标准的“生产者”。W3C的正常运作由W3C会员公司来提供资金来源,来保证其免费、开放得正常运行 ,其工作组中约90%的成员也是由这些会员公司的成员组成,剩余部分是由外部特约专家和W3C工作人员组成。W3C会员公司成员是由浏览器厂商、主流网站、研究机构、常规技术公司等构成,它们是Web标准兴旺的直接受益者与标准草案的主要提供者。从W3C的人员构成就可以看出浏览器厂商在标准输出与制定中拥有几乎统治性的发言权,如果某个主流的浏览器推出了新特性,很可能它会成为未来W3C的正式推荐规范。

Web的每项标准从制定到成熟一般经历以下过程:

ED编辑草案(Edited  Draft):规范的初始阶段,可能十分粗糙,像是一个编辑大杂烩,它几乎没有什么要求,也不能保证会被工作组批准,但它是每项标准修订或新增产生的必须过程。

FPWD首个公开工作草案(Frist Public Working Draft):一项规范的首个公开版本,它应该已经准备较为充分,以接受工作组的公开反馈。

WD工作草案(Working Draft):在第一个草案发布后,后续会有更多的草案出来,这些草案会吸收来自工作组和社区的反馈,进行多次版本的小幅度修改迭代。这个阶段也是浏览器早期实现的开始,厂商基本不会对更早阶段的草案提供实验性支持。

CR候选标准(Candidate Recommendation):相对稳定的版本,比较适合实现和测试。一项规范只有具备一套完整的测试套件和两个独立的实现后,才可能继续推进到下一阶段。

PR提名推荐规范(Proposed Recommendation):此阶段是W3C会员提出反对意见的最后机会。实际上他们很少在这一阶段提出异议,PR推进到正式规范只是时间问题。

REC正式推荐规范(recommendation):W3C组织确定的最终阶段的技术方案,也就是最正式的技术标准。

其中在现阶段学习前端问题时,应该以REC正式推荐规范和ret旧版规范为核心参考。正式推荐规范是几乎所有现阶段主流浏览器最新版本均可以实现支持(极少数属性对于更新较慢浏览器可能在未来实现)。尽管旧版规范中可能部分属性或者功能被废弃,但并不意味着主流浏览器不支持这些特性,因此很多仍然广泛存在于很多项目代码中,对于老旧代码阅读不太理解时,需要通过旧版规范来知晓其功能特性。

W3C中不同标准的含义的更多相关文章

  1. shell脚本中>/dev/null的含义

    shell脚本中>/dev/null的含义 shell脚本中有段使用sqlplus的部分: sqlplus ${user_id} <<! >/dev/null spool sp ...

  2. Linux: 介绍make menuconfig中的每个选项含义【转】

    转自:http://blog.csdn.net/gaoyuanlinkconcept/article/details/8810468 介绍make menuconfig中的每个选项含义 Linux 2 ...

  3. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)

    Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528   ...

  4. mysql,user表中各字段的含义

    1.查询user表 select * from mysql.user 2.修改用户密码 ALTER user ' 3.user表中各字段的含义 Select_priv:用户可以通过SELECT命令选择 ...

  5. Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义

    Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使 ...

  6. 【转】java中volatile关键字的含义

    java中volatile关键字的含义   在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言 ...

  7. .Net Framework中的标准委托和事件_1

    .Net Framework中的标准委托,已经定义在命名空间System中, namespace System { public delegate void EventHandler(object s ...

  8. MyEclipse 中各种 libraries 的含义

    MyEclipse 中各种 libraries 的含义       JRE System Library,Java EE 5 Libraries,Referenced  Libraries这三个都是各 ...

  9. C语言中关键字volatile的含义【转】

    本文转载自:http://m.jb51.net/article/37489.htm 本篇文章是对C语言中关键字volatile的含义进行了详细的分析介绍,需要的朋友参考下 volatile 的意思是“ ...

随机推荐

  1. Linux最常用的命令大全

    Linux最常用的命令大全 按功能索引 目录处理命令 ls mkdir pwd cd rmdir cp mv rm 文件处理命令 touch cat tac more less head tail l ...

  2. day49 Pyhton 数据库Mysql 06

    多表查询 连表查询 要进行连接,那一定涉及两个表,两个表中要有关联条件才能进行连接 内连接 只有表一和表二中的连接条件都满足的时候才能显示出来 inner join on /where 条件 sele ...

  3. 性能测试-CPU瓶颈分析的思路

    CPU(中央处理器),是电子计算机的主要设备之一,电脑中的核心配件.CPU作为计算机系统的运算和控制核心,是信息处理.程序运行的最终执行单元.CPU的功效主要为处理指令.执行操作.控制时间.处理数据. ...

  4. spring boot: 通过filter过滤器实现中文的简体繁体字符集转换(spring boot 2.3.1)

    一,为什么要使用filter来实现简繁体转换? 项目中有时会有同时支持简体和繁体两种字符集的要求, 或者搜索引擎有支持繁体输入字符的需求. 针对繁体字符的显示, 我们通常会在数据库和模板.文案配置中默 ...

  5. 详解Kubernetes微服务自动化发布系统

    实施微服务架构后,原先单一的系统结构统变成了数量众多的微服务应用,开发.测试.运维部署等都会面临不少挑战.在微服务架构下如何提高工程研发效率,确保开发.测试.运维部署等流程上的顺畅,是微服务技术体系能 ...

  6. 完美解决pyinstaller 打包报错找不到依赖pypiwin32 或pywin32-ctypes的错误

    报错信息 最近闲来无事,用python的tkinter库开发了一款带日程提醒的万年历桌面程序.在程序开发结束开始打包时,却发现一直报错 PyInstaller cannot check for ass ...

  7. Helium文档7-WebUI自动化-highlight高亮显示元素

    前言 highlight方法是通过红框高亮显示元素,在调试中有很大优势,可以清楚看到定位的元素位置 入参介绍 def highlight(element):   """ ...

  8. C++ 多线程 std::thread 使用总结

    在C++ 11之前,官方并没有支持线程库.C++ 11通过标准库引入了对 thread 类的支持,大大方便了完成多线程开发的工作. std::thread 构造函数  (1)thread() noex ...

  9. git折腾日志

    git for windows https://git-for-windows.github.io/ 基本配置 进入git bash后执行 $ git config --global user.nam ...

  10. JS里的小细节,持续更新

    判断把值定为 false 集合 JavaScript里把 null.undefined.0.''.NaN 都视为false,而其他值一概为 true Map Map是一组键值对的结构,具有极快的查找速 ...