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.
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.