z-index Attribute | zIndex Property

Internet Development Index

Sets or retrieves the stacking order of positioned objects.

Syntax

HTML { z-index : vOrder }
Scriptingobject.style.zIndex [ = vOrder ]

Possible Values

vOrderVariant that specifies or receives one of the following values.
autoDefault. String that specifies the stacking order of the positioned objects based on the order in which the objects appear in the HTML source.
orderInteger that specifies the position of the object in the stacking order.

The property is read/write for all objects except the following, for which it is read-only: currentStyle. The property has a default value of auto. The Cascading Style Sheets (CSS) attribute is not inherited.

Expressions can be used in place of the preceding value(s), as of Microsoft® Internet Explorer 5. For more information, see About Dynamic Properties.

Remarks

Positive z-index values are positioned above a negative (or lesser value) z-index. Two objects with the same z-index are stacked according to source order. A positive value positions the element above text that has no defined z-index, and a negative value positions it below. Set this parameter to null to remove the attribute.

The zIndex property only applies to objects that have the position property set to relative or absolute.

The property does not apply to windowed controls, such as select objects.

As of Microsoft® Internet Explorer 5.5, the iframe object is windowless and supports the zIndex property. In earlier versions of Internet Explorer, the iframe object is windowed and, like all windowed controls, ignores the zIndex property. If you maintain Web pages that were designed for earlier versions of Internet Explorer that do not support the zIndex property, you might want to redesign the pages, especially if the pages contain iframe objects that are stacked on top of windowed controls, such as select objects. You can use the visibility attribute to hide windowed controls that you want an iframe object to overlap. You can also position windowed controls so that iframe objects do not overlap them.

Input from pointing devices, such as the mouse, does not penetrate through overlapping elements even if the elements are not visible. This is also true for positioned elements with a negative z-index unless:

  • The parent is a scrolling container (that is, its overflow property is set to auto or scroll).
  • The parent is positioned (that is, its position property is set to absolute or relative).

Examples

The following examples use the z-index attribute and the zIndex property to change the stacking order of objects.

This example uses an inline style sheet to set the stacking order.

<IMG SRC="cone.jpg" STYLE="position:absolute;
top:100px; left:100px; z-index:4">
<DIV STYLE="position:absolute; top:100; left:100;
color:red; background-color:beige; font-weight:bold;
z-index:1">
. . . </DIV>
This feature requires Microsoft® Internet Explorer 4.0 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

This example uses inline scripting to set the stacking order.

<IMG ID="cone" SRC="cone.jpeg"
STYLE="position:absolute;top:10px;left:10px;"
onclick="cone.style.zIndex=1; sphere.style.zIndex=2">
<IMG ID="sphere" SRC="sphere.jpg"
STYLE="position:absolute;top:1px;left:1px;"
onclick="cone.style.zIndex=2; sphere.style.zIndex=1">
This feature requires Microsoft® Internet Explorer 4.0 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

Standards Information

This property is defined in Cascading Style Sheets (CSS), Level 2 (CSS2) Non-Microsoft link.

Applies To

A, ADDRESS, APPLET, B, BIG, BLOCKQUOTE, BUTTON, CAPTION, CENTER, CITE, CODE, COL, COLGROUP, currentStyle, CUSTOM, DD, defaults, DFN, DIR, DIV, DL, DT, EM, FIELDSET, FORM, I, IFRAME, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, ISINDEX, KBD, LABEL, LEGEND, LI, LISTING, MARQUEE, MENU, OL, P, PLAINTEXT, PRE, runtimeStyle, S, SAMP, SMALL, SPAN, STRIKE, STRONG, style, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP