HTML规范与浏览器实现之间的差异
HTML 是万维网上使用最主要的标记语言。HTML最初旨在成为一种用于语义描述科学文档的语言。另一方面,其通用设计使其能够多年来适应于描述各种其他类型的文档,甚至应用程序。
HTML 规范
规范以非常详细的方式定义了 Web 平台的很大一部分。其功能仅限于提供语义级标记语言和相关的语义级脚本 API,用于创作从静态文档到动态应用程序的 Web 可访问页面。对于 Web 文档,HTML 规范必须存储在纯文本文件中。文本文件不得包含任何控制字符。因此,建议在纯文本编辑器中创建 HTML 规范,并将其保存在扩展名为 .html 或 .htm 的文件中。
浏览器的实现
当程序根据规范指南管理合法记录时,据说它“支持”该规范。由于目前没有应用程序支持 HTML5 的每个方面(尽管大多数主流浏览器都支持),因此对于设计人员来说,确保他们使用的视角将得到他们想要在其上显示内容的所有程序的支持至关重要。因此,尽管细节出色,但设计人员仍然难以实现跨程序支持。
HTML 规范和浏览器实现之间的差异
HTML 规范(例如 HTML5)定义了一组规则,文档必须遵循这些规则才能被规范视为“有效”。规范还指定了浏览器如何解释和呈现此类文档。
浏览器的主要功能是通过向服务器请求并将其显示在浏览器窗口中来呈现我们选择的 Web 资源。支持和渲染是 Web 浏览器之间两个最显着的差异。每个浏览器在呈现页面时都表现得非常不同。即使是那些努力遵守标准的人,其遵守方式也前后不一。
HTML 和 CSS 规范定义了浏览器如何解释和显示 HTML 文件。这些规范由W3C(万维网联盟)维护,该联盟是 Web 标准组织。多年来,浏览器仅遵循规范的子集并创建自己的扩展。这给 Web 设计师带来了严重的兼容性问题。如今,大多数浏览器都在一定程度上遵守规范。
令人惊讶的是,浏览器用户界面在任何正式规范中都没有指定;相反,它是多年经验以及浏览器相互模仿的结果。HTML5 规范没有指定浏览器必须具有的 UI 元素,但它确实列出了一些常见元素。地址栏、状态栏和工具栏就是这些示例。当然,也存在浏览器特定的功能,例如 Firefox 的下载管理器。
如果 Web 浏览器可以根据规范中指定的规则处理有效文档,则称该浏览器支持该规范。尽管所有主要浏览器都支持 HTML5 规范的大部分内容,但没有 Web 浏览器支持整个 HTML5 规范。因此,开发人员必须确认他们使用的方面是否会得到他们希望在其上显示内容的所有浏览器的支持。这就是为什么尽管规范有所改进,但跨浏览器支持仍然是开发人员面临的挑战。
因此,对于开发人员来说,确保他们使用的规范方面得到他们希望在其上显示/交付内容的所有 Web 浏览器的支持至关重要。因此,尽管 HTML5 规范有所改进,但跨浏览器支持仍应谨慎对待。遇到无效 HTML5 文档时,HTML5 规范定义了必须遵循的某些规则。由于无效文档可能包含任何内容,因此 HTML5 规范几乎不可能涵盖所有可能的情况。因此,关于如何处理格式错误文档的大多数决策完全取决于 Web 浏览器。
HTML5 指定了一些在无效 HTML5 文档(即包含语法错误的文档)的情况下应遵循的指南。但是,由于无效文档可能包含任何内容,因此规范不可能完全涵盖所有可能性。因此,浏览器会做出许多关于如何处理格式错误文档的决策。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP