HTML、XML、XHTML区别:
1. 编码要求严格程度不同:
- xml的解析语法非常苛刻,只要网页出现一处错误,则浏览器停止解析。
- xhtml具有良好完整的排版:1.元素必须要有结束标签。2.元素必须要有嵌套
- 对于html的元素和属性,xhtml必须小写,因为xhtml严格区分大小写,xhtml的属性值必须在引号之中;xhtml不支持属性最小化,且不赞成name的使用。
2. HTML的三个缺点:
- 编码不规范,结构混乱臃肿
- 结构混乱不利于开发和维护
- 不支持多设备
因此html需要发展才能解决这个问题,于是w3c又制定了xhtml,xhtml是html向xml过度的一个桥梁。而xml是web发展的趋势。
但xml的严苛程度过高,违背了网页设计的一个基本原理,即“发送时要保守,接收时要开放。”,所以原本w3c的计划xhtml1.0的下一个版本来应该是xhtml 2.0,却最终被html5取代。
HTML语义化:
何谓语义化
语义化就是根据内容选择合适的标签,根据内容选择合理的代码结构,便于开发者阅读,便于浏览器及机器的解析。
内容与样式分离原则
- 写HTML时候先不管样式,重点放在HTMl结构及语义化上,让HTMl能体现页面结构及内容,之后再去写样式。
- 写JS的时候,尽量不用JS直接操作样式,而是给元素添加删除
class
来控制样式变化。 - HTML内不允许出现属性样式,尽量不出现行内样式。
优点:
- 页面加载迅速,大部分代码写入CSS,HTML体积小。
- 维护修改时,效率省时。根据html标签内ID或class的标记,到CSS里找到相应的ID或class,可以快速替换指定位置的样式,不会破坏页面架构和其他部分的样式。
- 更好被搜索引擎收录,HTML语义化便于机器抓录
- CSS样式分离,可以根据不同的设备不同浏览器达到显示统一。
我们刚开始意识到,我们必须回归内容本身,将内容本身的语义合理地表述出来,再为不同的用户代理设计不同的样式描述,也就是我们说的内容与样式分离。这样我们在提供内容的时候,首先要做的就是将内容本身进行合理的描述,暂时不用考虑它的最终呈现会是什么样子。HTML 规范其实一直在往语义化的方向上努力,许多元素、属性在设计的时候,就已经考虑了如何让各种用户代理甚至网络爬虫更好地理解 HTML 文档。HTML5 更是在之前规范的基础上,将所有表现层(presentational)的语义描述都进行了修改或者删除,增加了不少可以表达更丰富语义的元素。为什么这样的语义元素是有意义的?因为它们被广泛认可。所谓语义本身就是对符号的一种共识,被认可的程度越高、范围越广,人们就越可以依赖它实现各种各样的功能。