HTML Reference Guide


Tag Index| Content List| HTML FAQ

<LAYER> ... </LAYER> LAYER

Description:

This is a new element created by Netscape that allows an author to define precisely positioned 2-dimensional layout consisting of overlapping layers of transparent or solid content on a web page. All the content between the opening and closing LAYER tags can be treated as a single item of content that can be moved and altered in various ways.

Layers can have a stacking order that allows a virtual third z-dimension to be defined. Using this, layers can appear on top of other layers. Layers can also be transparent or solid; if transparent, the content of underlying layers shows through it. As if that wasn't enough, background colors or tiled images can also be specified for a layer (setting these attributes for a layer will negate the its transparency property and layers below it will be obscured.)

Layers can be nested and moved in a dynamic fashion via scripting. This type of layer defining explicit positioning is also known as an 'out-of-flow' or 'positioned' layer. An alternate method of defining a layer is through the use of the ILAYER element, which allows the definition of layers whose position follows the flow of the page [like an image] - this is known as an 'inflow layer'.

Note: This element is curious in that it mirrors the functionality of the capabilities now offered through the positioning property extensions for Cascading Style Sheets. The LAYER and ILAYER elements are essentially HTML-based solutions to the same functionality that these CSS extensions provide. It is interesting to note that support for CSS positioning and the LAYER/ILAYER elements appeared in Netscape at the same time. However, CSS positioning has been created with the official sanctioning of the W3C, while it is unlikely that LAYER/ILAYER will ever gain such support.

Attributes:

above - This attribute specifies the name of the layer that will occur directly above the current layer in the layer stacking order (z-order.) It overrides the default behavior of placing new layers on top of all existing layers. Only one of the Z-INDEX, ABOVE, or BELOW attributes can be used for a given layer. References to layers not yet defined result in default layer creation behavior - i.e. the new layer will be placed on top of all existing layers.

background - This specifies a background image to be tiled on a layer. Default behavior for a layer is to be transparent.

below - This attribute specifies the name of the layer that will occur directly below the current layer in the layer stacking order (z-order.) It overrides the default behavior of placing new layers on top of all existing layers. Only one of the Z-INDEX, ABOVE, or BELOW attributes can be used for a given layer. References to layers not yet defined result in default layer creation behavior - i.e. the new layer will be placed on top of all existing layers.

bgcolor - This specifies the background color of the layer. Default behavior for a layer is to be transparent.

clip - This parameter specifies the clipping rectangle (viewable area) of the layer, which can be less than the width and height of the content of the layer. If the CLIP attribute is omitted, the clipping rectangle of a layer is the same size as the HTML content of the layer. A layer will expand to contain all of its content by default.

height - This parameters specifies the height of the layer's content and serves as a reference dimension for child layers.

left - This specifies the coordinate position of the left side boundary position of the current layer in relation to a parent layer if present. if no parent layer exists, the value is relative to the main document window.

name - This attribute specifies the name of the layer in order to identify or reference it from other layers or scripting languages. Layers are unnamed by default.

onblur - A blur Event Handler executes Script code when a layer loses keyboard focus.

onfocus - A focus Event Handler executes Script code when a layer receives input focus by tabbing with the keyboard or clicking with the mouse.

onload - This attribute executes Script code with the completion of loading of the layer.

onmouseover - A mouseOver Event Handler executes Script code once each time the mouse pointer moves over a layer from outside the layer.

onmouseout - A mouseOut Event Handler executes Script code once each time the mouse pointer exits from the bounds of a layer from inside the layer.

pagex - This specifies the absolute horizontal (X) coordinate position of the left boundary position of the current layer in relation to the document window (this differs slightly in definition from the LEFT attribute.)

pagey - This specifies the absolute vertical (Y) coordinate position of the top boundary position of the current layer in relation to the document window (this differs slightly in definition from the TOP attribute.)

src - This attribute specifies the URL of an HTML 'sub-document' to be inserted in to the layer. The effect is similar to the IFRAME tag implemented by Internet Explorer.

top - This specifies the coordinate position of the top boundary position of the current layer in relation to a parent layer if present. if no parent layer exists, the value is relative to the main document window.

visibility - This attribute specifies whether the layer is visible or not. A layer will have the same visibility as its parent layer by default. Even if the visibility of a layer is set to SHOW, a layer can only be seen if there are no other visible, solid layers stacked on top of it. For top level layers that are not nested inside other layers, a value of INHERIT has the same effect as SHOW since the body document is always visible.

width - This parameters specifies the width of the layer's content. Specifically, it controls the right margin of the layer for wrapping purposes. Some elements may not be 'wrappable' (like images) and extend beyond the width specified. Layer contents wrap at the right boundary of the enclosing block by default.

z-index - This attribute allows a layer's stacking order (z-order) to be specified in terms of an integer. Layers with higher numbered Z-INDEX values are stacked above those with lower ones. Positive Z-INDEX values cause the layer to be stacked above its parent while negative values will cause the layer to be stacked below its parent. This attribute overrides the default behavior of placing new layers on top of all existing layers. Only one of the Z-INDEX, ABOVE, or BELOW attributes can be used for any given layer.

Example code:

<layer NAME="two" LEFT=40 TOP=40 Z-INDEX=2><font SIZE=7 COLOR="#0000ff">Two</font></layer><layer NAME="one" LEFT=25 TOP=25 Z-INDEX=1><font SIZE=7 COLOR="#ffff00">One</font></layer><layer NAME="three" LEFT=55 TOP=55 Z-INDEX=3><font SIZE=7 COLOR="#ff0000">Three</font></layer>

Result:

*see top of page*

TwoOneThree

See Also: