`
mywebcode
  • 浏览: 998107 次
文章分类
社区版块
存档分类
最新评论

在XHTML文档中合适的使用CSS和JavaScript

 
阅读更多
在XHTML文档中合适的使用CSS和JavaScript

XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) 定义XHTML是为了把HTML 4扩展成像XML 1.0一样的应用程序。
在许多站点中XHTML正在迅速的替代HTML 4;然而,主流浏览器对完全支持XHTML方面表现得不足,和网页设计师对HTML 4与XHTML的基本差异缺乏理解,产生了当今网络上的一个不断扩大的问题。

XHTML是XML,不是HTML
其中关于XHTML的主要的误解是,它仅仅是另外一个版本的HTML。这个误解产生于这样的事实:Microsoft® Internet Explorer只在文件以Mime类型为 text/html提交时,才支持XHTML,而标准中建议的类型其实是application/xhtml+xml。

当一个XHTML页面的MIME类型被提交为text/html时,它被所有的浏览器当作HTML处理,就好像XHTML比起HTML来没有任何不同。但是当一个XHTML页面的MIME类型被提交为text/xml或application/xhtml+xml时,它将被当作XML文档处理,而设计和显示XML都是必须要遵守严格规则的。

真正的XHTML就是一个XML的应用,所以创建XHTML时也要遵守严格的规则。特别是:

未经过处理的<和&不允许出现在CDATA区域(<!CDATA...>)之外。
注释(<!—— ... ——>)中不能包含双横线。
包含在注释(<!—— ... ——>)中的内容将被忽略。
在内嵌的style和script中出现的问题
在被当作XML而不是HTML处理时,内嵌的style和script标记会产生几个不同的问题。

JavaScript中包含了一些在XHTML中不允许存在的字符
典型的JavaScript中包含了一些特殊字符,这些字符在XHTML中是不允许放在CDATA区域之外的。

<script type="text/javascript"> var i = 0; while (++i < 10) { // ... }</script>注意这个例子不是以正确格式书写的XHTML,因为使用了未经处理的“<”,它只能在被当作XHTML或XML标记的一部分时出现。

在内嵌的style和script中使用注释
熟悉HTML的设计师通常把内嵌的style和script内容放到注释中,这样可以在不支持样式和脚本的浏览器中隐藏它们。

<style type="text/css"> <!-- body {background-color: blue; color: yellow;} --></style><script type="text/javascript"> <!-- var i = 0; var sum = 0; for (i = 0; i < 10; ++i) { sum += i; } alert('sum = ' + sum); // --></script>这个例子举例说明了特定的浏览器可以忽略注释里的内容。另外,这个例子还显示了不同的浏览器在处理text/xml或者 application/xhtml+xml内容时产生的不同问题。

Mozilla 1.1+/Opera 7
不能使用CSS,也不能执行JavaScript。
Netscape 7.0x/Mozilla 1.0.x
不能使用CSS,但可以执行JavaScript。
Internet Explorer 5.5+
无法正常显示文档。
包含双横线的内嵌style和script
另一个把JavaScript包含在XHTML文件的注释中产生的问题,与在XHTML的注释中使用双横线会产生的问题一样。

<script type="text/javascript"><!-- var i; var sum = 0; for (i = 10; i > 0; --i) { sum += i; }// --></script>使用CDATA替代注释
直接把JavaScript放入CDATA区域会在低版本不支持XML的浏览器中产生问题,不过,把JavaScript的注释(//……)与CDATA一起使用,就能解决向下兼容的问题了。

<script type="text/javascript"> //<![CDATA[ var i = 0; while (++i < 10) { // ... } //]]></script>例子
在注释中使用内嵌style的CSS规则
例子1 - XHTML 1.0 Strict在text/html
这个例子举例说明当CSS规则包含内联和包含在注释中时的XHTML在text/html的行为。这个例子支持Netscape 7.x,Mozilla,Opera 7和Internet Explorer 5.5+那一个都能像期望一样应用CSS规则。
例子2 - XHTML 1.0 Strict在text/xml
这个例子举例说明当CSS规则包含内联和包含在注释中时的XHTML在text/xml的行为。这个例子支持Netscape 7.x,Mozilla,Opera 7但不支持Internet Explorer 5.5+。注意etscape 7.x,Mozilla和Opera同意包含在注释的内联CSS规则将被忽略。
例子3 - XHTML 1.0 Strict在application/xhtml+xml
这个例子举例说明当CSS规则包含内联和包含在注释中时的XHTML在application/xhtml+xml的行为。这个例子支持Netscape 7.x,Mozilla,Opera 7但不支持Internet Explorer 5.5+。注意etscape 7.x,Mozilla和Opera同意包含在注释的内联CSS规则将被忽略。
使用外部文件的CSS规则
例子4 - XHTML 1.0 Strict在text/html
这个例子举例说明当在使用外部文件的CSS规则的时候XHTML在text/html的行为。这个例子支持Netscape 7.x,Mozilla,Opera 7和Internet Explorer 5.5+。
例子5 - XHTML 1.0 Strict在text/xml
这个例子举例说明当在使用外部文件的CSS规则的时候XHTML在text/xml的行为。这个例子支持Netscape 7.x,Mozilla和Opera 7但不支持不支持Internet Explorer 5.5+。
例子6 - XHTML 1.0 Strict在application/xhtml+xml
这个例子举例说明当在使用外部文件的CSS规则的时候XHTML在application/xhtml+xml的行为。这个例子支持Netscape 7.x,Mozilla和Opera 7但不支持不支持Internet Explorer 5.5+。
建议
不要在XHTML中内联style或script
用外部文件包含CSS规则和JavaScript来替换内联样式和脚本是创建XHTML最佳方式,在向后兼容方式时,如果内容的MIME类型从text/html向application/xhtml+xml改变时将不会被打断。

这个建议可能看起来更强烈,可是,它是未来XHTML要打算的问题,当XHTML在text/html向application/xhtml+xml转移在几年后发生。

如果你仅仅测试你的XHTML在text/html的时候,那么你可能产生问题,例如像:不能准确的描述出主题。移动CSS和JavaScript到单独的文件是可靠的方法,关于改变你XHTML的服务方式。

理解XHTML 1.0的HTML兼容指导
这个XHTML 1.0 HTML Compatibility Guidelines帮助创建XHTML文档向后兼容性在那些不能理解XML的老浏览器。

请注意那是纯粹的XHTML文档,你不需要使用xml-stylesheet处理指导,但应该使用link涉及的外部文件包含CSS。

分享到:
评论

相关推荐

    html+css+javascript 教程

    Hyper Text Markup Language...JavaScript中变量声明,采用其弱类型。 即变量在使用前不需作声明,而是解释器在运行时检查其数据类型 x=1234; //数值型变量 y=“4321”; //字符型变量 代码格式不一样 嵌入方式不一样

    精通Web标准网页布局 XHTML+CSS+JavaScript.rar(课本重点 源码)

    xhtml-transitional.html XHTML1.0 Transitional的文档的代码 xhtml.html 一个简单的XHTML示例 xhtml-show.html XHTML与浏览器 xhtml.html 软件开发的XHTML代码

    如何正确地在XHTML文档中使用JavaScript和CSS

    在越来越多的网站中,XHTML的使用正以很快的速度替代HTML4,但是,目前一些主流浏览器对XHTML的支持还不是很好,加上一些网页制作者对XHTML和HTML4之间的差异理解不够,使得XHTML在WEB发展上进程变得缓慢。...

    javascript,css,html,xhtml,dom,vbscript,nhibernate帮助文档

    javascript,css,html,xhtml,dom,vbscript,nhibernate帮助文档打包

    CSS/JavaScript /HTML 4.01/XHTML 1.0参考手册

    里面包含有HTML 4.01 XHTML 1.0 CSS JavaScript文档。内容包括HTML所有的标签库,CSS的所有属性和JavaScript几个关键的对象(Date、String、Array、Boolean、Math、Number、RegExp)

    CSS入门 XHTML文档结构树

    CSS通过与(X)HTML的文档结构相对应的选择器(selector)来达到控制页面表现的目的,而文档结构不仅仅在CSS的应用上非常重要,对于行为层(例如使用JavaScript控制元素的行为)同样也非常重要。 文档结构(X)HTML文档...

    HTML5 CSS3 帮助文档 chm

    HTML5 CSS3 帮助文档 chm 领先的 Web 技术教程 - 全部免费 在w3school,你可以找到你所需要的所有的网站建设教程。 从基础的HTML到XHTML,乃至进阶的XML、SQL、数据库、多媒体和WAP。 从左侧的菜单选择你需要的...

    CSS入门:XHTML文档结构树

    CSS通过与(X)HTML的文档结构相对应的选择器(selector)来达到控制页面表现的目的,而文档结构不仅仅在CSS的应用上非常重要,对于行为层(例如使用JavaScript控制元素的行为)同样也非常重要。  CSS通过与(X)HTML的...

    w3school(html ajax javascript css)

    国内最好的web开发帮助文档(包括html ajax javascript css等) 从基础的HTML到XHTML,乃至进阶的XML、SQL、数据库、多媒体和WAP。

    北京中科信软AJAX培训

    在普通文本和XML文档之间权衡 何时返回普通文本 何时返回XML文档 innerHTML的应用 案例研究:MSN Space MSN Space中的Ajax 持久化机制 实体类和服务类 初始化共享空间首页 固定链接 操作评论 引用通告 管理列表项 ...

    HTML5+CSS3.0+JQUERY+JS+XHTML手册集合

    基于JQuery的插件LigerUI,用于前端快速开发平台,包含文档和源码

    WEB帮助文档大全 J2EE帮助大全 WEB帮助文档大全 J2EE帮助大全 网页帮助文档大全

    WEB帮助文档大全,J2EE帮助大全,WEB帮助文档大全,J2EE帮助大全,网页帮助文档大全 :内包含多种帮助文档,HTML XML CSS JAVASCRIPT HIBERNATE SPRING JSP STRUTS XHTML

    chm中文文档.zip

    [Java参考文档].JDK_API_1_6_zh_CN.CHM,CSS 2.0 中文手册,CSS 3.0参考手册,Javascript参考手册,JDK_API_1_6_zh_CN,W3CSchool,xHTML参考手册.

Global site tag (gtag.js) - Google Analytics