The HTML <ol> Element (or HTML Ordered List Element) represents an ordered list of items. Typically, ordered-list items are displayed with a preceding numbering, which can be of any form, like numerals, letters or Romans numerals or even simple bullets. This numbered style is not defined in the HTML description of the page, but in its associated CSS, using the list-style-type property.

There is no limitation to the depth and overlap of lists defined with the <ol> and <ul> elements.

Usage note: The <ol> and <ul> both represent a list of items. They differ in the way that, with the <ol> element, the order is meaningful. As a rule of thumb to determine which one to use, try changing the order of the list items; if the meaning is changed, the <ol> element should be used, else the <ul> is adequate.
Content categories Flow content, and if the <ol> element's children include at least one <li> element, palpable content.
Permitted content Zero or more <li> elements
Tag omission None, both the starting and ending tag are mandatory.
Permitted parent elements Any element that accepts flow content.
DOM interface HTMLOListElement

Attributes

This element includes the global attributes.

compact
This Boolean attribute hints that the list should be rendered in a compact style. The interpretation of this attribute depends on the user agent and it doesn't work in all browsers.
Note: Do not use this attribute, as it has been deprecated: the <ol> element should be styled using CSS. To give an effect similar to the compact attribute, the CSS property line-height can be used with a value of 80%.
reversed HTML5
This Boolean attribute specifies that the items of the item are specified in the reverse order, i.e. that the least important one is listed first.
startHTML5
This integer attribute specifies the start value for numbering the individual list items. Although the ordering type of list elements might be Roman numerals, such as XXXI, or letters, the value of start is always represented as a number. To start numbering elements from the letter "C", use <ol start="3">.
Note: This attribute was deprecated in HTML4, but reintroduced in HTML5.
type
Indicates the numbering type:
  • 'a' indicates lowercase letters,
  • 'A' indicates uppercase letters,
  • 'i' indicates lowercase Roman numerals,
  • 'I' indicates uppercase Roman numerals,
  • and '1' indicates numbers (default).

The type set is used for the entire list unless a different type attribute is used within an enclosed <li> element.

Note: This attribute was deprecated in HTML4, but reintroduced in HTML5. Unless the value of the list number matters (e.g. in legal or technical documents where items are to be referenced by their number/letter), the CSS list-style-type property should be used instead.

Examples

Simple example

<ol>
  <li>first item</li>
  <li>second item</li>
  <li>third item</li>
</ol>

Above HTML will output:

  1. first item
  2. second item
  3. third item

Using the start attribute

<ol start="7">
  <li>first item</li>
  <li>second item</li>
  <li>third item</li>
</ol>

Above HTML will output:

  1. first item
  2. second item
  3. third item

Nesting lists

<ol>
  <li>first item</li>
  <li>second item      <!-- Look, the closing </li> tag is not placed here! -->
    <ol>
      <li>second item first subitem</li>
      <li>second item second subitem</li>
      <li>second item third subitem</li>
    </ol>
  </li>                <!-- Here is the closing </li> tag -->
  <li>third item</li>
</ol>

Above HTML will output:

  1. first item
  2. second item
    1. second item first subitem
    2. second item second subitem
    3. second item third subitem
  3. third item

Nested <ol> and <ul>

<ol>
  <li>first item</li>
  <li>second item      <!-- Look, the closing </li> tag is not placed here! -->
    <ul>
      <li>second item first subitem</li>
      <li>second item second subitem</li>
      <li>second item third subitem</li>
    </ul>
  </li>                <!-- Here is the closing </li> tag -->
  <li>third item</li>
</ol>

Above HTML will output:

  1. first item
  2. second item
    • second item first subitem
    • second item second subitem
    • second item third subitem
  3. third item

Specifications

Specification Status Comment
WHATWG HTML Living Standard
The definition of '<ol>' in that specification.
Living Standard No change since last W3C snapshot, HTML5.
HTML5
The definition of 'HTMLOListElement' in that specification.
Recommendation Added reversed and start attributed; un-deprecated type
HTML 4.01 Specification
The definition of '<ol>' in that specification.
Recommendation Deprecated compact and type.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 1.0 1.0 1.0
reversed attribute 18 18.0 (18.0) Not supported Not supported 5.2
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) 1.0 (1.0) (Yes) (Yes) (Yes)
reversed attribute (Yes) 18.0 (18.0) Not supported Not supported (Yes)

See also

  • Other list-related HTML Elements: <ul>, <li>, <menu> and the obsolete <dir>;
  • CSS properties that may be specially useful to style the <ol> element:
    • the list-style property, useful to choose the way the ordinal is displayed,
    • CSS counters, useful to handle complex nested lists,
    • the line-height property, useful to simulate the deprecated compact attribute,
    • the margin property, useful to control the indent of the list.
 

Document Tags and Contributors

 Last updated by: dio,