DHTML是Dynamic HTML的简称,就是动态的html,是相对传统的静态的html而言的一种制作网页的概念。所谓动态HTML(Dynamic HTML,简称DHTML),其实并不是一门新的语言,它只是HTML、CSS和客户端脚本的一种集成,即一个页面中包括html+css+javascript(或其它客户端脚本),其中css和客户端脚本是直接在页面上写而不是链接上相关文件。DHTML不是一种技术、标准或规范,只是一种将目前已有的网页技术、语言标准整合运用,制作出能在下载后仍然能实时变换页面元素效果的网页设计概念。
分类
DHTML建立在原有技术的基础上,可分为三个方面:
一是HTML(XHTML),也就是页面中的各种页面元素对象,它们是被动态操纵的内容;
二是CSS,CSS属性也是动态操纵的内容,从而获得动态的格式效果;
三是客户端脚本(例如JavaScript),它实际操纵Web页上的HTML和CSS。
使用DHTML技术,可使
网页设计
者创建出能够与用户交互并包含动态内容的页面。实际上,DHTML使网页设计者可以动态操纵网页上的所有元素——甚至是在这些页面被装载以后。利用DHTML,网页设计者可以动态地隐藏或显示内容、修改样式定义、激活元素以及为元素定位。DHTML还可使网页设计者在网页上显示
外部信息
,方法是将元素捆绑到外部数据源(如文件和
数据库
)上。所有这些功能均可用
浏览器
完成而无需请求Web
服务器
,同时也无需重新装载网页。这是因为一切功能都包含在
HTML文件
中,随着对网页的请求而一次性下载到浏览器端。
作用
DHTML就是当网页从
WEB服务器
下载后无须再经过服务器的处理,而在浏览器中直接动态地更新网页的内容、排版样式、动画。比如,当鼠标移至文章段落中,段落能够变成蓝色,或者当你点击一个超链后会自动生成一个下拉式的子超链目录。这就是 Dynamic HTML(动态HTML),它是近年来
网络发展
进程中最具实用性的创新之一。它是一种通过各种技术的综合发展而得以实现的概念,这些技术包括Java Script , VBScript, Document Object Model (
文档对象模型
),Layers和Cascading Style Sheets (
CSS样式表
)等。
DHTML 不是 W3C 标准
DHTML 指动态 HTML(Dynamic HTML)。
DHTML 是一种用来创建动态站点的技术组合物。
对大多数人来说,DHTML 意味着 HTML 4.0、样式表以及 JavaScript 的结合物。
W3C 曾讲过:“动态HTML是一个被某些厂商用来描述可使文档动态性更强的HTML、样式表以及脚本的结合物的术语。”
DHTML 技术
通过 DHTML,Web 开发者可控制如何在浏览器窗口中显示和定位 HTML 元素。
HTML 4.0
通过 HTML 4.0,所有的格式化(信息)可移出HTML文档,并写入一个独立的样式表中。因为 HTML 4.0 可以把文档的表现从其结构中分离,我们可以在不搞乱文档内容的情况下完全地控制表现层。
通过 CSS,我们得到了一种用于 HTML 文档的样式和布局模型。
由于 CSS 使开发者有能力同时控制多个网页的样式和布局,CSS 可以称作 Web 设计领域的一个突破。作为开发者,您可以为每个 HTML 元素定义样式,并把它应用到您希望的任意多的页面上。如果需要做一个全局的改变,只需简单地改变样式,Web 中所有的元素都会被自动地更新。
文档对象模型(DOM)
DOM 指文档对象模型。
HTML DOM 是针对 HTML 的文档对象模型。
HTML DOM 定义了针对 HTML 的一套标准的对象,以及访问和处理 HTML 对象的标准方法。
“W3C 文档对象模型(DOM)是一个中立于语言和平台的接口,它允许程序和脚本动态地访问和更新文档的内容、结构以及样式”。
JavaScript
在 Netscape 4.x 以及 Internet Explorer 4.x 的 DHTML 技术
Netscape 4.x 跨浏览器 DHTML Internet Explorer 4.x
JSS(JavaScript 样式表)(允许您控制不同的 HTML 元素如何显示)
Layers(允许您控制元素的定位和可见性)
CSS1
CSS2(允许您控制不同的 HTML 元素如何显示)
CSS Positioning (允许您控制元素的定位和可见性)
JavaScript
可视滤镜(允许您向文本和图形应用可视效果)
动态 CSS(允许您控制元素的定位和可见性)
注释
只要各种浏览器所创建的属性特征和技术不被其他的浏览器支持,使用 DHTML 进行编码就会产生问题。某个网页在一款浏览器中看上去很棒,在另一款中却非常糟糕。
下面列出了由动态 HTML 定义的对象。点击链接即可前往对象的定义,其中包含了该对象的所有成员集。
对象
!DOCTYPE 指定了 HTML 文档遵循的文档类型定义(DTD)。 a 标明超链接的起始或目的位置。 acronym 标明缩写词。 address 特定信息,如地址、签名、作者、此文档的原创者。 applet 在页面上放置可执行内容。 area 定义一个客户端图像映射中一个超级链接区域的形状、坐标和关联 URL。 attribute 以对象的形式代表了 HTML 元素的标签属性或属性。 b 指定文本应以粗体渲染。 base 指定一个显示 URL 用于解析对于外部源的链接和引用,如图像和样式表。 baseFont 设置渲染文本时作为缺省字体的基础字体值。 bdo 允许作者为选定文本片断禁用双向法则。 bgSound 允许页面带有背景声音或创建音轨。 big 指定内含文本要以比当前字体稍大的字体显示。 blockQuote 设置文本中的一段引语。 body 指定文档主体的开始和结束。 br 插入一个换行符。 button 指定其中所含的 HTML 要被渲染为一个按钮。 caption 指定表格的简要描述。 center 将后面的文本和图像居中显示。 cite 用斜体显示标明引言。 clientInformation 包含关于 Web 浏览器的信息。 clipboardData 提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用。 code 指定代码范例。 col 指定基于列的表格缺省属性。 colGroup 指定表格中一列或一组列的缺省属性。 comment 标明不可见的注释。 currentStyle 代表了在全局样式表、内嵌样式和 HTML 标签属性中指定的对象格式和样式。 custom 代表了一个用户自定义元素。 dataTransfer 提供了对于预定义的剪贴板格式的访问,以便在拖曳操作中使用。 dd 在定义列表中表明定义。定义通常在定义列表中缩进。 defaults 编程设定元素行为的缺省属性。 del 表明文本已经从文档中删除。 dfn 表明术语的定义实例。 对话框帮助协助程序 提供对颜色对话框及块格式化和字体集合的访问。 dir 引起目录列表。 div 指定渲染 HTML 的容器。 dl 引起定义列表。 document 代表给定浏览器窗口中的 HTML 文档。 dt 在定义列表中表明定义术语。 em 强调文本,通常以斜体渲染。 embed 允许嵌入任何文档。 event 代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态。 external 允许访问由 Microsoft® Internet Explorer 浏览器组件宿主应用程序提供的附加对象模型。 fieldSet 在字段集包含的文本和其它元素外面绘制一个方框。 font 指定用于渲染所包含文本的新字体、大小和颜色。 form 指定所包含控件在表单中起作用。 frame 在 FRAMESET 元素内指定单个框架。 frameSet 指定一个框架集,用于组织多个框架和嵌套框架集。 head 提供了关于文档的无序信息集合。 history 包含了用户已浏览的 URL 的信息。 hn 以标题样式渲染文本。 hr 绘制水平线。 html 表明文档包含 HTML 元素。 HTML 注释 避免任何内含文本或 HTML 源代码被处理并在浏览器窗口中显示。 i 指定文本应以斜体渲染,若可用的话。 iframe 创建内嵌浮动框架。 img 在文档中嵌入图像或视频剪辑。 implementation 包含了关于对象支持的模块信息。 IMPORT 从元素行为中导入标签定义。 input 创建各种表单输入控件。 input type=button 创建按钮控件。 input type=checkbox 创建复选框控件。 input type=file 创建文件上载控件,该控件带有一个文本框和一个浏览按钮。 input type=hidden 传输关于客户/服务器交互的状态信息。 input type=image 创建一个图像控件,该控件单击后将导致表单立即被提交。 input type=password 创建与 INPUT type=text 控件类似的单行文本输入控件,不过其中并不显示用户输入的内容。 input type=radio 创建单选钮控件。 input type=reset 创建一个按钮,该按钮单击后将重置表单控件为其缺省值。 input type=submit 创建一个按钮,该按钮单击后将提交表单。 input type=text 创建一个单行的文本输入控件。 ins 指定被插入到文档中的文本。 isIndex 使浏览器显示一个对话框,提示用户输入单行文本。 kbd 以固定宽度字体渲染文本。 label 为页面上的其它元素指定标签。 legend 在 fieldSet 对象绘制的方框内插入一个标题。 li 引起列表中的一个项目。 link 允许当前文档和外部文档之间建立连接。 listing 以固定字体渲染文本。 location 包含关于当前 URL 的信息。 map 包含客户端图像映射的坐标数据。 marquee 创建一个滚动的文本字幕。 menu 创建一个项目的无序列表。 meta 向服务器和客户端传达关于文档的隐藏信息。 namespace 向文档中动态导入一个元素行为。 navigator 包含关于 Web 浏览器的信息。 nextID 创建编辑软件可以读取的唯一标识符。 noBR 不换行渲染文本。 noFrames 包含对于那些不支持 FRAMESET 元素的浏览器使用的 HTML。 noScript 指定要在不支持脚本的浏览器显示的 HTML。 object 向 HTML 页面中插入对象。 ol 绘制文本的编号列表。 optGroup 允许作者对 select 元素中的选项进行逻辑分组。 option 引起 SELECT 元素中的一个选项。 p 引起一段。 page 代表 styleSheet 中的一条 @page 规则。 param 设置 APPLET、EMBED 或 OBJECT 元素的属性初始值。 plainText 以固定宽度字体渲染文本,不处理标签。 popup 一种特殊的顶层窗口,主要用于出现在应用程序主窗口之外的对话框、消息框和其它临时窗口。 pre 以固定宽度字体渲染文本。 q 分离文本中的引语。 rt 指明 RUBY 元素的注音文本。 ruby 指明要放置在文本串之上或内嵌的注解或发音指南。 rule 代表了层叠样式表(CSS)中由选择符和一个或多个声明组成的的样式。 runtimeStyle 代表了居于全局样式表、内嵌样式和 HTML 标签属性指定的格式和样式之上的对象的格式和样式。 s 以删除线字体渲染文本。 samp 指定代码范例。 screen 包含关于客户屏幕和渲染能力的信息。 script 为脚本指定由脚本引擎解释的脚本。 select 引起列表框或下拉框。 selection 代表了当前激活选中区,即高亮文本块,和/或文档中用户可执行某些操作的其它元素。 small 指定内含文本要以比当前字体稍小的字体显示。 span 指定内嵌文本容器。 strike 以删除线字体渲染文本。 strong 以粗体渲染文本。 style 代表了给定元素所有可能的内嵌样式的当前设置。 style 指定页面的样式表。 styleSheet 代表了文档中单一的样式表。 sub 指定内含文本要以下标的形式显示,通常比当前字体稍小。 sup 指定内含文本要以上标的形式显示,通常比当前字体稍小。 table 指定所含内容要组织成行列的表格。 tBody 指明行作为表格主体。 td 指定表格中的单元格。 textArea 指定多行文本输入控件。 TextNode 将文本字符串代表为文档层次中的结点。 TextRange 代表 HTML 元素中的文本。 TextRectangle 指定包含元素或 TextRange 对象中一行文本的矩形。 tFoot 指明行作为表尾。 th 指定标题列。标题列将在单元格中居中并以粗体显示。 tHead 指明行作为表头。 title 包含文档的标题。 tr 指定表格中的一行。 tt 以固定宽度字体渲染文本。 u 带下划线渲染文本。 ul 绘制文本的项目符号列表。 userProfile 提供了允许脚本对用户配置信息请求读取访问并执行读取操作的方法。 var 定义编程变量。通常以斜体渲染。 wbr 向一块 NOBR 文本中插入软换行。 window 代表浏览器中一个打开的窗口。 xml 在 HTML 页面上定义一个 XML 数据岛。 xmp 以固定宽度字体渲染作为示例的字体。