HTML

HTML5标准学习 – 编码

相信每一个前端工程师都或多或少遇上过“乱码”这位仁兄,无论你的基础有多么扎实,在生产的过程中都免不了偶尔和“乱码”兄弟喝上几杯茶吧。作为一个前端工程师,你是如何指定一个页面的编码的呢?你知道浏览器是怎么识别编码的吗? 首先,一个很简单的例子,用遇简的HTML页面来看看各浏览器下有什么不同: <!DOCTYPE html> 最简HTML,<head>和<body>都没有内容,服务器也不给出具体的编码声明,直接从本地打开,各个浏览器下查看页面的编码: 浏览器 显示编码 备注 IE6

HTML

HTML5标准学习 – DOCTYPE

上一篇文章主要讲述了HTML文档的构成,同时肤浅地接触了“标签省略”这一概念,本文会从概念上介绍HTML文档中第一个出现的重要元素 – DOCTYPE。 所谓DOCTYPE,最初是XML的概念,即通过一种特定的语法,作为一种元数据,来描述XML文档中允许出现的元素,以及各元素的组成、嵌套规则等。具体的概念可以在WIKI中得到一个更详细的结果。 但是在HTML中,DOCTYPE又有着一些不同的效果,其中之一就是著名的触发浏览器标准模式的功能。即如果没有DOCTYPE,浏览器会进入一种被称为Quirks模式的怪异状态,在该模式下,浏览器的盒模型、样式解析、布局等都与标准规定的存在差异。 需要注意的是,所谓的HTML标准、DOM标准等,只规定了在标准模式下的概念和行为,正如文档构成中提到的,DOCTYPE是一个HTML文档绝对不可以省略的部分,因此就根本不存在“Quirks模式”这样的概念。也正是因为标准中没有对Quirks模式做出任何的规定,

HTML

HTML5标准学习 – 文档结构

说起HTML的结构,很多人都能说得头头是道,一般来说答案可能是这样的: 一个DOCTYPE,一个<html>,里面有<head>和<body>元素。 这当然不能说是不正确的,但是如果问到一个最小的HTML源文件必须有哪一些东西的话,恐怕很少有人能正确地做出回答。 先来回答一下这个问题,一个最简的HTML5源码文件需要的内容如下: <!DOCTYPE html> 是的,就这样,一个字符不多,一个字符不少,除了大小写可任意变化外,其他的任何内容都是不能变动的。 那么究竟是怎么样的规则,

HTML

HTML5标准学习 – 简介

最近前端的群都蛮热闹的,但我发现多数讨论的是javascript和css相关的问题,仿佛大家在努力创建各种交互、样式的时候,忘却了这一切的基础 – HTML。 其实我很喜欢HTML,觉得这个语言远比XML来得有趣,其灵活、轻便远非极端规范的XML可以比拟。同时又因为HTML的作用范围极小,规定的标签有限等说不上优点还是缺点的特色,使得HTML有着自己的确定性。 本系列的前面很大一部分会以非常短小的篇幅,介绍HTML5中的一些基本概念,并且: 只关心HTML这个语言,其他的javascript或者css完全不会涉及。 只关注HTML,对XHTML会简要带过,但不会详细说明,这源于XHTML有着比HTML更严格的规范,对浏览器的解析而言,可以认为是HTML的一个子集。 主要参考了whatwg的官方文档,并对现有主流浏览器的兼容性进行了评估。 介绍的全是基本的概念,不会涉及文档解析、DOM树构建、脚本执行之类的实现细节。 在这之后,可能会提取部分与浏览器的运行相关的技术细节,如脚本的解析、