• HTML和XHTML的区别


    HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

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

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

      XHTML 要求正确嵌套

      XHTML 所有元素必须关闭

      XHTML 区分大小写

      XHTML 属性值要用双引号

      XHTML 用 id 属性代替 name 属性

      XHTML 特殊字符的处理

      XHTML 要求正确嵌套

      以下是正确的嵌套:

    以下是引用片段:
    <p>网页陶吧<strong>网页学习者之家strong>。</p>

      以下是错误的嵌套:

    以下是引用片段:
    <p>网页陶吧<strong>网页学习者之家</p></strong>。

      XHTML 所有元素必须关闭

    以下是引用片段:
    在 HTML 中 ,比如<p>,<li> ,这些标记,你可以不写</p>,</li>,但是在 XHTML 里,必须要求写关闭标记 (Closing Tag)。

      处理空元素

    以下是引用片段:
    有些空元素 ,在 XHTML 里的写法是在">"之前加空格和斜杠。比如<br>,应该写成<br />。

      以下 是空元素的例子:

    以下是引用片段:
    <br />  
    <hr />  
    <img src = "/images/adpics/1/b027.jpg" alt = "cwdn" />  
    <link rel="stylesheet" href="/styles/cwdn.css" type ="text/css" />  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" / > 


      XHTML 区分大小写

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

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

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

      比如:

    以下是引用片段:
    <IMG SRC = "/images/adpics/1/b027 .jpg" Alt = "cwdn" /> 

      应该写成:

    以下是引用片段:
    <img src = "/images/adpics/1/b027.jpg" alt = "cwdn" /> 

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

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

    以下是引用片段:
    <table cellspacing = 0>  
    <input checked > 


      但在 XHTML 里,应该写成:

    以下是引用片段:
    <table cellspacing = "0">  
    <input checked = "checked" />


      XHTML用id属性代替 name 属性HTM 很多元素,比如 a,applet,frame,iframe,img 和 map,有 name

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

      比如:

    以下是引用片段:
    <img src="cwdn.gif" name="cwdn logo" /> 

      应该写成:

    以下是引用片段:
    <img src="cwdn.gif" id="cwdn logo" /> 

      

    以下是引用片段:
    XHTML 特殊字符的处理& 应该在 XHTML 里应该写成 &amp;。

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

    以下是引用片段:
     You & Me  应该写成:  You &amp; Me

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

    以下是引用片段:
    <script type="text/javascript">// <![CDATA[//]]></script> 

      浏览器的角度

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

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

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

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

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

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

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

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

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

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

    以下是引用片段:
    <style> 
    .hello { ...... } 
    </style > 

      而你使用的时候写成

    以下是引用片段:
     <p class="Hello">

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

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

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

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

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

  • 相关阅读:
    最近遇到了这个坑,特意记录下
    《java8实战阅读笔记》
    Namespace的简讲
    发展历程C++及C++与C语言的关系
    进程间通信的概述2
    本来调试无误的程序在真机运行时报标题错误解决方案
    navagationController 的子控制器如何取消右滑返回
    iOS常见的设计模式
    代码:Masonry 第三方框架
    Autolayout的在storyboard警告和错误
  • 原文地址:https://www.cnblogs.com/hello-web/p/6515217.html
Copyright © 2020-2023  润新知