HTML Unordered Lists

HTML unordered lists (<ul>) are a fundamental way to display a collection of items without emphasizing their order. Each item in the list is represented by the <li> (list item) element, and the items are typically displayed with bullet points by default.

In this HTML tutorial, we will cover the basics of unordered lists, their attributes, styling options, and practical use cases, along with examples to help you understand how to implement them effectively in your web projects.

For an overview of what lists are, refer HTML Lists.


What is an Unordered List?

An unordered list is a collection of items where the order is not significant. These lists are ideal for displaying data like shopping lists, feature descriptions, or navigation links.

The structure of an unordered list consists of the <ul> element and nested <li> elements:

</>
Copy
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

By default, browsers render each list item with a bullet point as shown in the following screenshot.


Attributes of the <ul> Element

The <ul> element supports attributes that can enhance or modify its behavior:

  • Global Attributes: Attributes like id, class, and style are available to customize the list.
  • ARIA Attributes: Attributes like aria-label or aria-labelledby can make unordered lists more accessible.
  • Custom Data Attributes: Use data-* attributes to store custom information related to the list.

Styling Unordered Lists with CSS

Unordered lists can be styled to suit your design needs. You can change bullet styles, remove bullets, or customize spacing. Here are some common techniques:

1. Changing Bullet Styles

The list-style-type property lets you change the bullet style:

</>
Copy
<style>
  ul {
    list-style-type: square; /* Options: disc, circle, square, none */
  }
</style>

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

Common values for list-style-type include disc (default), circle, square, and none (removes bullets).

2. Removing Bullets

To remove bullets, set list-style-type to none:

</>
Copy
<style>
  ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
</style>

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

3. Customizing Indentation

You can adjust the indentation of list items using padding and margin:

</>
Copy
<style>
  ul {
    padding-left: 20px; /* Increase or decrease indentation */
  }
</style>

This property gives you control over how far the list content is indented from the left margin.

4. Adding Custom Bullets

To use custom images or icons as bullets, use the list-style-image property:

</>
Copy
<style>
  ul {
    list-style-image: url('custom-bullet.png');
  }
</style>

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

This approach allows for more creative designs.


Nested Unordered Lists

Unordered lists can be nested to create hierarchical structures. For example:

</>
Copy
<ul>
  <li>Parent Item 1
    <ul>
      <li>Child Item 1.1</li>
      <li>Child Item 1.2</li>
    </ul>
  </li>
  <li>Parent Item 2</li>
</ul>

The nested <ul> elements create a multi-level structure, each indented by default.


Accessibility Considerations

Ensure unordered lists are accessible to all users by following these guidelines:

  • Use Semantic HTML: Always use <ul> for unordered lists, rather than divs or spans.
  • Provide Context: Use descriptive text or headings to introduce lists.
  • Screen Reader Friendly: Add aria-label or aria-labelledby to describe the purpose of the list.

Real-World Use Cases

  • Navigation Menus: Create navigation links for websites.
  • Feature Lists: Highlight product features or service details.
  • FAQs: Present a list of frequently asked questions.
  • Task Lists: Display to-do lists or action items.

Best Practices for Using Unordered Lists

  • Keep Lists Short: Long lists can overwhelm users; consider grouping items.
  • Use Consistent Formatting: Ensure all items in a list follow the same grammatical style.
  • Make Lists Scannable: Use bullets, spacing, and alignment to improve readability.
  • Use CSS for Styling: Avoid inline styles and use external or internal CSS for customization.

Conclusion

HTML unordered lists are used to display collections of items. Whether you’re designing a navigation menu, showcasing features, or organizing content, unordered lists provide a simple yet powerful structure. By understanding their attributes, styling techniques, and accessibility considerations, you can effectively use unordered lists to enhance your webpages.