阿里云主机折上折
  • 微信号
Current Site:Index > <ul>- Unordered list

<ul>- Unordered list

Author:Chuan Chen 阅读数:50224人阅读 分类: HTML

The <ul> tag in HTML is used to define an unordered list, typically paired with the <li> tag to display a group of items without a specific order. By default, unordered lists use bullet points (e.g., dots) to mark each item, making them suitable for scenarios like navigation menus, feature lists, and more.

Basic Syntax of <ul>

The syntax for <ul> is very simple—just wrap a set of <li> tags. Each <li> represents an item in the list. For example:

<ul>
  <li>Apple</li>
  <li>Banana</li>
  <li>Orange</li>
</ul>

Rendered output:

  • Apple
  • Banana
  • Orange

Common Attributes of <ul>

Although modern HTML recommends using CSS for styling, <ul> still supports some legacy attributes:

  1. type Attribute: Specifies the bullet style. Options include:

    • disc (default, solid circle)
    • circle (hollow circle)
    • square (solid square)

    Example:

    <ul type="square">
      <li>Red</li>
      <li>Green</li>
    </ul>
    

    Output: ▪ Red
    ▪ Green

  2. compact Attribute (deprecated): Reduces spacing between list items. It's recommended to use CSS margin or padding instead.

Nesting <ul> for Multi-Level Lists

<ul> can be nested to create hierarchical lists. For example:

<ul>
  <li>Fruits
    <ul>
      <li>Apple</li>
      <li>Mango</li>
    </ul>
  </li>
  <li>Vegetables
    <ul>
      <li>Spinach</li>
      <li>Carrot</li>
    </ul>
  </li>
</ul>

Rendered output:

  • Fruits
    • Apple
    • Mango
  • Vegetables
    • Spinach
    • Carrot

Customizing <ul> Styles with CSS

In modern development, CSS is preferred over HTML attributes for styling. Here are common use cases:

1. Modifying Bullet Styles

ul.custom {
  list-style-type: none; /* Remove default bullets */
  padding-left: 0;
}

ul.custom li::before {
  content: "→ "; /* Custom bullet */
  color: #ff5733;
}

2. Horizontal Lists

ul.horizontal {
  display: flex;
  gap: 20px;
  list-style-type: none;
}

3. Hover Effects

ul.hover-effect li:hover {
  background-color: #f0f0f0;
  transform: translateX(5px);
}

Practical Examples

Example 1: Navigation Menu

<nav>
  <ul class="nav-menu">
    <li><a href="#home">Home</a></li>
    <li><a href="#news">News</a></li>
    <li><a href="#contact">Contact</a></li>
  </ul>
</nav>

<style>
  .nav-menu {
    display: flex;
    gap: 30px;
    list-style: none;
    background: #333;
    padding: 15px;
  }
  .nav-menu a {
    color: white;
    text-decoration: none;
  }
</style>

Example 2: Feature List

<ul class="feature-list">
  <li>Responsive Design</li>
  <li>Cross-Browser Compatibility</li>
  <li>SEO Optimization</li>
</ul>

<style>
  .feature-list {
    list-style-image: url('checkmark.png');
    line-height: 1.8;
  }
</style>

Differences Between <ul> and Other List Tags

  1. <ol>: Ordered list, uses numbers or letters to indicate sequence.

    <ol>
      <li>Step 1</li>
      <li>Step 2</li>
    </ol>
    
  2. <dl>: Definition list, includes terms (<dt>) and descriptions (<dd>).

    <dl>
      <dt>HTML</dt>
      <dd>HyperText Markup Language</dd>
    </dl>
    

Accessibility Considerations

To enhance accessibility:

  • Avoid using lists purely for layout (use <div> instead)
  • Limit nested lists to no more than 3 levels
  • Add ARIA roles for navigation menus:
    <ul role="menubar">
      <li role="menuitem">Home</li>
    </ul>
    

Browser Compatibility and Edge Cases

All major browsers support <ul>, but note:

  • Older IE versions may have inconsistent support for CSS list-style-position
  • For printing, adjust bullet colors:
    @media print {
      ul { list-style-type: square !important; }
    }
    

JavaScript Example for Dynamic <ul> Manipulation

Dynamically manipulate lists with JavaScript:

<ul id="dynamic-list"></ul>

<script>
  const fruits = ['Pear', 'Grape', 'Watermelon'];
  const list = document.getElementById('dynamic-list');

  fruits.forEach(item => {
    const li = document.createElement('li');
    li.textContent = item;
    list.appendChild(li);
  });
</script>

本站部分内容来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:cc@cccx.cn

Front End Chuan

Front End Chuan, Chen Chuan's Code Teahouse 🍵, specializing in exorcising all kinds of stubborn bugs 💻. Daily serving baldness-warning-level development insights 🛠️, with a bonus of one-liners that'll make you laugh for ten years 🐟. Occasionally drops pixel-perfect romance brewed in a coffee cup ☕.