热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

在XHTML文档中合适的使用CSS和JavaScript,阅读在XHTML文档中合适的使用CSS和JavaScript,在XHTML文档中合适的使用CSS和JavaScriptXHTML1.0TheExtensibleHyperTextMarkupLanguage(SecondEdition)定义XH

在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区域()之外。
注释()中不能包含双横线。
包含在注释()中的内容将被忽略。
在内嵌的style和script中出现的问题
在被当作XML而不是HTML处理时,内嵌的style和script标记会产生几个不同的问题。

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

注意这个例子不是以正确格式书写的XHTML,因为使用了未经处理的“<”,它只能在被当作XHTML或XML标记的一部分时出现。

在内嵌的style和script中使用注释
熟悉HTML的设计师通常把内嵌的style和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的注释中使用双横线会产生的问题一样。

使用CDATA替代注释
直接把Javascript放入CDATA区域会在低版本不支持XML的浏览器中产生问题,不过,把Javascript的注释(//……)与CDATA一起使用,就能解决向下兼容的问题了。

例子
在注释中使用内嵌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。


推荐阅读
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 本文深入探讨了 HTML 中的 `margin` 属性,详细解析了其基本特性和应用场景。文章不仅介绍了 `margin` 的基本概念,还重点讨论了垂直外边距合并现象,并分析了 `margin` 在块级元素与内联元素中的不同表现。通过实例和代码示例,帮助读者全面理解 `margin` 的使用技巧和常见问题。 ... [详细]
  • 在Spring框架中,基于Schema的异常通知与环绕通知的实现方法具有重要的实践价值。首先,对于异常通知,需要创建一个实现ThrowsAdvice接口的通知类。尽管ThrowsAdvice接口本身不包含任何方法,但开发者需自定义方法来处理异常情况。此外,环绕通知则通过实现MethodInterceptor接口来实现,允许在方法调用前后执行特定逻辑,从而增强功能或进行必要的控制。这两种通知机制的结合使用,能够有效提升应用程序的健壮性和灵活性。 ... [详细]
  • 题目描述非常吸引人。每颗星星可以通过其在窗口的左下角和右上角位置构建两条扫描线,从而将问题转化为区间增减和求最大值的操作。需要注意的是,位于边界的星星不应计入结果,因此在处理时应分别对左右边界进行适当的增减调整。此外,利用线段树和离散化技术可以显著提高算法效率,确保在大规模数据下的性能表现。 ... [详细]
  • Vuex 实战进阶:构建高效笔记本应用(第二篇)
    在上一篇文章中,我们初步探讨了 Vuex 在该项目中的应用。本文将深入解析整个项目的架构设计。首先回顾 `main.js` 的内容,然后重点分析 `App.vue` 文件,其中引入了 `Toolbar.vue` 和 `NodeList.vue` 组件,详细说明它们在应用中的作用和交互方式。通过这些组件的协同工作,我们将展示如何构建一个高效且响应迅速的笔记本应用。 ... [详细]
  • 如何运用蒙特卡洛方法计算NPV:计算机专业毕业设计遇到难题怎么办?
    许多计算机科学专业的学生在大学期间都会遇到这样的困扰:课堂上教授的内容往往偏向理论,实际应用的知识点讲解得较为浅显和概括,导致在进行毕业设计时,如运用蒙特卡洛方法计算净现值(NPV)等复杂问题时感到无从下手。本文旨在探讨如何通过深入理解和实践蒙特卡洛模拟技术,解决这类计算难题,为学生的毕业设计提供实用指导。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 新年伊始,正是学习的最佳时机。本文全面解析了CK1957-Zookeeper的核心概念与实践技巧,旨在帮助初学者快速掌握这一深度学习工具。通过详细的理论讲解和实际操作示例,读者可以更好地理解Zookeeper的工作原理及其在分布式系统中的应用。无论是新手还是有一定基础的学习者,都能从中受益匪浅。 ... [详细]
  • 探究Oracle数据库字符集编码的详细方法与实践
    本文深入探讨了Oracle数据库字符集编码的详细方法与实践。首先,通过执行 `SELECT USERENV('language') FROM DUAL;` 查询服务端字符集编码。其次,通过在注册表中搜索 `NLS_LANG` 参数来查看客户端字符集编码。此外,文章还介绍了如何在不同场景下正确配置和转换字符集,以确保数据的一致性和完整性。 ... [详细]
  • 解决手机浏览器无法加载CSS文件的技术方法与常见问题分析
    针对手机浏览器无法加载CSS文件的问题,本文提出了几种有效的解决方案:首先,确保CSS文件路径正确无误;其次,统一CSS文件和网页的编码格式;最后,检查并修正文件后缀的MIME类型设置,以确保浏览器能够正确识别和解析CSS文件。此外,还探讨了可能导致该问题的其他常见原因,如缓存问题和服务器配置错误等。 ... [详细]
  • 在执行 Vim/VM 命令时遇到错误提示:检测到名为
    在使用 Docker 时,通过 Vim 编辑 Dockerfile 文件时遇到了错误提示:“检测到名为 .dockerfile.swp 的交换文件”。这一问题通常是因为上次编辑该文件时意外中断,导致系统生成了临时的交换文件。为了解决这个问题,可以手动删除该交换文件或使用 Vim 的恢复功能来恢复未保存的更改。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
author-avatar
手艺人生大姑娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有