Dynamic HTML (DHTML) is a term that describes the collective action of a group of technologies:
Although DHTML can hardly be considered fully Object Oriented, it does have some OO features. Specifically, like Java Script it does not support classes (abstract objects not style classes) or inheritance. However, it does consider each page element (section, heading, paragraph, list, image, etc.) an object and each of these objects can have the three standard attributes of an OOPs object. That is each object has;
At the end of 1997, the W3C (World Wide Web Consortium) released a draft of its new HTML "Document Object Model" and thus started the DHTML drive. The purpose of the HTML DOM recommendation was to specify an API for how Web developers can access the document objects to manipulate page elements to create dynamic effects. As is normal, both Netscape and Microsoft "support" this recommendation ... a little differently. <S>Even to the extent of using different names (Microsoft calls it a "Dynamic HTML Object Model" while Netscape calls it an "HTML Object Model.")
Prior to DHTML, web developers were really only able to manipulate images using the Image object, and forms using the Form object. DHTML is actually a response to a need to be able to control more of the contents in a Web page. In DHTML, every item on the document is considered an object and may be manipulated.
One of the properties that each of these objects has is a name by which it
can be addressed in scripts or as a result of the action of another object
(mouse pointer for instance). There is therefore the possibility that it
and/or any other object on the page can thus be changed as a result of an
internal method (based on time or, history etc.) or as a reaction to a specified
external event. Since all variations in any element are sent as part of the
initial web page, all changes occur immediately.
Objects are defined in DHTML by using one of the standard HTML positioning
tags and the optional identifier ID that can be used with any HTML tag. For
example:
1. Paragraph | <P ID="Text1"> ... </P> | Used to contain a paragraph with a double linefeed. |
2. Division | <DIV ID="Text1"> ... </DIV> | Used to contain a paragraph with a single linefeed. |
3. Anchor | <A ID="Text1"> ... </A> | Serves as a location anchor on the page. |
4. Span | <SPAN ID="Text1"> ... </SPAN> | A generic container. |
5. Layer | <LAYER ID="Text1"> ... </LAYER> | Defines positionable (with optional attributes) Layers. |
6. iLayer | <ILAYER ID="Text1"> ... </ILAYER> | Defines anchored Layers. |
(It pains me to say this) Internet Explorer 4 (IE-4) is currently a better DHTML browser than Netscape Navigator 4 (NN-4). This is a result of its extension of the Java Script document object to an object array using "document.all".  With this and the above tags, it is possible to address any discreet object in the document, including all images and text on down to individual HTML tags.
As an example, consider the following.
One of the DHTML areas, that Netscape is ahead of Microsoft is in the use of dynamic fonts. This feature of the Communicator suite provides page designers the ability to include font files containing specific fonts along with styles, sizes, colors, etc. as part of their Web page. The fonts are then downloaded with the page. Therefore, the font choice is no longer dependent on what the browser provides.
Netscape first offered font embedding in NN-4 The format chosen was "TrueDoc" developed by Bitstream. (You may also wish to glance at truedoc.com)True to the spirit of cooperation, Microsoft released a competing standard in their "TrueType" format in IE4. Needless to say, the standards were not compatible.
Although the "TrueType" format worked, it had numerous flaws; two of which were (and are):
Rather than actually embedding (or even downloading) a font, TrueDoc places a "Character Shape Recorder" in the operating system (Windows or Mac) This extension is given the desired shape of each glyph (character) which it then records and saves for use in the page.
The character shapes (fonts) are contained in a font definition file (*.pfr) that is maintained on the server along with the HTML document. When the page is accessed, the file is downloaded with the HTML file in the same way that an embedded image or audio file would be. While loading, the page is first displayed using the browser default font. Once the PFR has been fully downloaded, the screen is redrawn in the font specified by the designer. To speed up the process, the PFR file can be limited to the exact font characters used, rather than including an entire set.
Before considering the mechanics of using dynamic fonts, it should be noted that the <FONT> tag has two new attributes; POINT-SIZE and WEIGHT. The POINT-SIZE attribute indicates the Font point size in either absolute or relative terms. The Weight attribute indicates the degrees of "boldness" of the font. The value range for the WEIGHT attribute is 100 to 900 inclusive, in steps of 100 (why 1-9 isn't used is a mystery). The highest value, 900, is equivalent to using the <B> tag. As an example of these attributes.
There are four steps in using dynamic fonts:
I will add a similar description for IE-4 after I have determined it.
A STYLE is a group of properties that define how an HTML element will appear in a document. A style sheet describes the default style characteristics of a document or a portion of a document. They describe the default background color or image, hypertext link colors, page layout, and font parameters etc. Style sheets are used in web pages to help enforce consistency across all or a group of pages in a document or a Web site. The style elements can be specified once for the entire document by either placing the commands in the document heading or by linking to or importing a separate style sheet.
A cascading style sheet (CSS) is a style sheet derived from multiple sources with a defined order of precedence when the definitions of a style element conflict. The possible sources of definition for the style of a given document element are:
An example of using the style attribute to indicate: "text: 18 point, italic,
and color red, with a 5 pixel left margin" would be:
Style sheets were an innovation of Microsoft and are very similar to those found in the "Word" word processor. Each sheet is used to describe the default style characteristics of a document or a portion of a document. Dynamic HTML includes the capability to specify style sheets in a cascading fashion. By that it is meant linking to or specifying different style sheets or style statements with predefined levels of precedence within the same or a set of related pages. Therefore, user interaction can cause a new style sheet to be made applicable and thus change the appearance of the page. Style sheets may be composed in multiple layers with style sheet within a style sheet within a style sheet. Each sheet may vary one element or multiple elements.
Netscape introduced Layering to vary the content of a page as an alternative to Microsoft's style sheets. Layering accomplishes this by providing page layers that can overlay or replace or superimpose on existing content sections. Layers can be programmed to appear as part of a timed presentation or as the result of user interaction.
In IE-4, Microsoft implemented layers through style sheets. Netscape supports
the style sheet approach but also offers a new HTML <LAYER>...</LAYER>
tag set (that Microsoft does not support). {There is also an ILAYER tag set as seen
above.} Both approaches are being considered by the W3C Working Committee and both
companies say they will support whatever W3C decides will be the recommended
approach.
Since this page describes an orientation of HTML that is a combination of
multiple technologies, it is considered a better idea to offer examples for each
in individual pages.