星空网站建设

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4|回复: 0

今日要闻浅析HTML和XHTML的区别

[复制链接]
  • TA的每日心情
    慵懒
    20 小时前
  • 签到天数: 44 天

    [LV.5]常住居民I

    10万

    主题

    38

    回帖

    30万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    304612
    发表于 2025-8-7 11:43:34 | 显示全部楼层 |阅读模式

    HTML和XHTML的区别简单来说,XHTML可以认为是XML版本的HTML,为符合XML要求,XHTML语法上要求更严谨些。



    以下是XHTML相对HTML的几大区别:



    XHTML要求正确嵌套



    XHTML所有元素必须关闭



    XHTML区分大小写



    XHTML属性值要用双引号



    XHTML用属性代替属性



    XHTML特殊字符的处理



    XHTML要求正确嵌套



    以下是正确的嵌套:



    页陶吧页学习者之家。



    以下是错误的嵌套:



    页陶吧页学习者之家。



    XHTML所有元素必须关闭



    在HTML中,比如,,这些标记,你可以不写,,但是在XHTML里,必须要求写关闭标记(CT)。



    处理空元素



    有些空元素,在XHTML里的写法是在""之前加空格和斜杠。比如,应该写成。



    以下是空元素的例子:="1027"=""

    =""=""=""

    -="C-T"=";=UTF-8"



    XHTML区分大小写



    HTML不区分大小写,但是XHTML是区分大小写的。



    XHTML语法上要求更严谨些。要积极的看待这个问题。



    XHTML的所有标记和属性都要小写。



    比如:



    IMGSRC="1027"A=""



    应该写成:



    ="1027"=""



    XHTML属性值要用双引号情况就有所不同。并不强制要求属性值加双引号



    HTML并不强制要求属性值加双引号。比如你可以写:



    =0





    但在XHTML里,应该写成:



    ="0"

    =""



    XHTML用属性代替属性HTM很多元素,比如,,,,和,有



    属性。在XHTML里是要废除的,而用属性取而代之。



    比如:



    =""=""



    应该写成:



    =""=""





    XHTML特殊字符的处理应该在XHTML里应该写成;。



    比如:XHTML的所有标记和属性都要小写。



    YM应该写成:Y;M



    还有如果内嵌J代码,在XHTML里则应该写成:



    =""![CDATA[]]



    浏览器的角度



    以上是从协议标准的角度来看待这个问题的。如果从浏览器的角度来看待这个问题,情况就有所不同。



    考虑一下,如果把XHTML写得很不严格,浏览器会怎么做是不是会弹出一个对话框,写着“这个的开发人员技术不过关,写的不是正宗的XHTML文件,咱不显示”显然,如果浏览器做成这个样子,倒贴钱也是不会有人用的。



    从浏览器的角度看待上面几个不同,大致是下面的测试结果:



    XHTML要求正确嵌套:如果你没有嵌套,浏览器会试图帮你嵌套。



    XHTML所有元素必须关闭:如果你没有关闭,浏览器会试图帮你关闭。



    XHTML区分大小写:你非要写成大写,浏览器帮你转换成为小写。



    属性值要用双引号:你非要不肯加,浏览器帮你加。



    特殊字符的处理:YM也好,YM也好,浏览器都能读入。



    用属性代替属性:你非要用也可以。



    如果你在文档开始用DT指定为XHTML了,有一点需要注意。在给T用指定CSS的时候,是区分大小写的。例如,你定义了一个CSS如下,





    {}





    而你使用的时候写成



    ="H"



    如果从浏览器的角度来看待这个问题。来自那这个CSS是不会被使用的。要积极的看待这个问题,这让你可以用更多的字来命S,是一个好事。



    XHTML标准的前途从标准制定者的初衷看,制定XHTML标准是试图把HTML规范成为严格的XML格式,这样可避免的会导致一个结果,就是从HTML到XHTML的升级导致标准的容错能力降低了。把自己的页源文件写得严格一点当然是好事,但是一个标准不可能去要求浏览器降低自己的容错能力。



    XHTML10标准是兼容HTML401,是个不错的协议,可以让开发者在编写代码的同时通过一些工具来检查代码的合法性,虽然对于用户而言,制作出来的页和HTML401相比在没有什么不同。对于你写新的页来说,使用XHTML10还是一个不错的选择。



    XHTML11标准要求浏览器不再支持原先的容错能力,这是一个标准制定者走火入魔的典型例子,这个标准从学术上说非常纯净,但是对于浏览器而言,则是个呆板、笨拙、不可理喻的标准。所以目前所有由人类开发的浏览器都没有遵照所谓纯净的XHTML11的标准,你的代码只要浏览器能读懂,他都会很好的显示出来,而不跳出弹框报错。



    从发展的趋势来看,一个标准没有浏览器服从,等于是没有意义的标准。从浏览器的现角度来看,新的协议只能在原来HTML的基础上扩大能力增加容错,而不能缩小了能力减少容错。所以新的协议中,只有扩大能力增加容错的部分会被采纳,而其他部分都仅仅是纸上谈兵而已。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表