w3c 规范原味解读 - 1 介绍

说明

解读不是翻译,因此不会逐句涵盖 w3c 的官方文档,我本意将站在一个初学者的角度,将需要注意的地方记录下来,同时站在一个实用主义者角度,将工作中不常用,但与标准差异较大的理解记录下来,主要意图是记录自己的理解,和帮助日后索引与查询,如果读者希望地毯式理解 w3c 标准,建议逐字阅读 w3c 官方英文文档。

HTML

the Hypertext Markup Language 超文本标记语言

HTML 乍一看可能给人感觉到一些荒谬,因为其规范是在几十年间,许多不同背景的开发者共同贡献的,很多地方可能无法很全局的把握。

为了简化难度,没有暴露多线程的特征给开发者,HTML 和 DOM API 也被设计为无法检测是否有其它脚本正在同时运行。就算是 webWorker,其实现原理可以认为是在同一个浏览器上下文序列化执行所有脚本。

Tag

< > / 构成,某些标签可以不闭合,比如

标签可以嵌套,比如:

This is correct.

复制代码

但不能交叉嵌套:

This is very wrong!

复制代码

Attribute

如果属性值不包含空格、" ' ` = < > ,就可以不用双引号,以下写法都是正确的:


复制代码

拓展机制

HTML 提供了很多方法拓展语义,确保使用安全的方法拓展语义,保证不会产生副作用,例如:

  • class 可以被浏览器广泛支持
  • data - * 属性可以确保不被浏览器使用,安全的传递数据
  • 使用 描述页面数据
  • 通过 rel="" 定义链接类型
  • var img = document.getElementById('games'); img.onload = gamesLogoHasLoaded; // might never fire!

    XHTML

    是 HTML 的变体,因为使用了 XML 语法。XHTML 是 XML 的应用程序。

    如果文档以 text / html MIME 类型传输,浏览器会作为 HTML 类型处理,目前使用 html 5.0 版本的规范,也就是 "HTML 5"。

    如果使用 XML MIME 类型,例如 application / xhtml + xml 时,会被浏览器视为 XML 文档,使用 XHTML 5.0 版本的规范,称为 "XHTML 5"。与 HTML 5 的区别是,XHTML 5 对 HTML 标签语法检查的更严格,细小的语法错误都会阻止文档渲染,比如 XHTML 中的 DOM 语法不允许 noscript 标签,也不允许 --> 的注释。

    CSS

    Cascading Style Sheets 层叠样式表
    让呈现样式与结构分离。

    HTML 内联的样式属性因为不利于维护,增大文件体积,已经逐渐废弃,例如 ,仅保留了 style 属性。

    WebFonts

    在网页使用字体,无需在系统安装,正在打造的网页字体通用标准是: WOFF

    容错

    在结束标签书写属性应该被忽略,但却是合法的,应为以后可能会作为一种拓展能力 (

    )。

    对属性设置 disable=false 是不允许的,尽管看起来设置了 enable,但实际上和 disable=true 效果一样,因为这个效果看的是属性,而不是值。

    该闭合的不闭合,会根据不同情况容错,比如 form 不会放在段落元素中,那么下面这段标签会这么解析:

    Welcome. Name: 复制代码

    自动在 form 标签前把 p 标签结束:

    Welcome.

    Name: 复制代码

    script 标签不支持 src 与内容同时存在,为了防止减少不必要的开发错误,因为有了 src 属性的 script 标签内容将不被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值