
我们聊XHTML 1.0的“新”,其实是在聊网页标准从“野蛮生长”到“体系化”的第一步——那些当年看似“麻烦”的规范,恰恰成了今天网页能跨端兼容、灵活迭代的基石。想知道这些改变到底如何影响了我们现在的上网体验?接下来就拆透它的每一处“新”。
你有没有过这种体验?早年帮朋友改博客代码,明明写了
没关标签,IE浏览器能正常打开,Firefox却把页面搞成“乱码拼图”;或者手机端看网页,图片总跑位、文字叠在一起?其实这些问题的源头,早在XHTML 1.0发布时就被盯上了——它不是简单给HTML“打补丁”,而是直接给网页标记换了套“严谨基因”,让原本“随性”的网页代码,变成了连“挑剔”的设备都能读懂的“标准文档”。
XHTML 1.0的“新”,是给HTML定了“不可商量”的规矩
早在上世纪90年代,HTML刚出来时,完全是“野生生长”的状态——写标签可以大写也可以小写(比如
和
都能用),单标签(比如换行的
)不用闭合也没关系,属性值(比如class=header
)甚至不用加引号。那时候做网页像“写随笔”,怎么舒服怎么来,但问题也跟着来了:不同浏览器解析这些“随性代码”的方式不一样,导致同一个页面在IE和Netscape(当年的主流浏览器)里长得完全不同;更麻烦的是,随着手机、PDA(掌上电脑)这些移动设备出现,这些“不严谨”的代码根本没法适配——手机屏幕小,却要解析一堆没闭合的标签,结果就是页面“崩得没法看”。
XHTML 1.0就是为解决这个问题来的。它直接给HTML套上了XML的“紧箍咒”(XML是一种不管什么设备都能读懂的标记语言,比如手机APP的数据、电脑配置文件很多都是XML格式),定下了四个“必须遵守”的规矩:
标签必须小写:再也不能写
了,只能用
——因为XML对大小写敏感,小写标签能让所有设备“统一理解”;
所有标签必须闭合:单标签比如
得改成
,双标签比如
必须有对应的
——这样浏览器就不会“猜”标签在哪儿结束;
属性值必须加引号:class=header
得写成class="header"
,哪怕值是数字也得加——避免浏览器把属性值和其他内容搞混;
文档结构必须完整:必须包含
、
、标签,而且
里必须有
——就像写文章得有标题和正文,让浏览器一眼就能看懂“这页内容是啥”。
我2018年帮本地一家旅行社改官网时,就遇到过“随性代码”的坑:他们老网站用的是HTML 4.01,全是大写标签,
原文链接:https://www.mayiym.com/50287.html,转载请注明出处。