前端教学2:ul标签的应用场合与经典案例

<ul> 标签的应用场合与经典案例

一、<ul> 是什么

<ul> = Unordered List (无序列表),用于展示没有先后顺序 的一组并列项。浏览器默认在每个 <li> 前显示小圆点(●)。

与之对应的是 <ol>(Ordered List,有序列表,显示 1. 2. 3.)和 <dl>(Definition List,定义列表)。

二、<ul> 适合的场合

核心判断标准:列表项之间是并列关系,调换顺序不影响语义。

场合 示例
导航菜单 顶部导航栏、侧边栏菜单
目录/栏目 文章分类、产品分类
选项清单 功能列表、优缺点、注意事项
图文列表 商品列表、新闻列表、图片墙
面包屑导航 首页 > 产品 > 详情
页脚链接 友情链接、关于我们、联系我们

三、经典案例

案例 1:顶部导航栏(最经典)

html 复制代码
<nav>
    <ul class="nav">
        <li><a href="#">首页</a></li>
        <li><a href="#">产品中心</a></li>
        <li><a href="#">新闻资讯</a></li>
        <li><a href="#">关于我们</a></li>
        <li><a href="#">联系我们</a></li>
    </ul>
</nav>
css 复制代码
.nav {
    list-style: none;     /* 去掉默认小圆点 */
    padding: 0;
    margin: 0;
    display: flex;        /* 横向排列 */
    gap: 20px;
}
.nav a {
    text-decoration: none;
    color: #333;
}
.nav a:hover {
    color: #2c7a4b;
}

说明 :几乎所有网站的导航都用 <ul> + <li> 结构,再配合 CSS 去除圆点、横向排列。

案例 2:商品列表(图文卡片)

html 复制代码
<ul class="products">
    <li>
        <img src="img/product1.jpg" alt="">
        <h3>商品名称一</h3>
        <p>¥199</p>
    </li>
    <li>
        <img src="img/product2.jpg" alt="">
        <h3>商品名称二</h3>
        <p>¥299</p>
    </li>
    <li>
        <img src="img/product3.jpg" alt="">
        <h3>商品名称三</h3>
        <p>¥399</p>
    </li>
</ul>
css 复制代码
.products {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.products li {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
}
.products img {
    max-width: 100%;
    height: 150px;
}

说明 :电商网站的商品网格,每个 <li> 是一个独立卡片。

案例 3:面包屑导航

html 复制代码
<ul class="breadcrumb">
    <li><a href="#">首页</a></li>
    <li><a href="#">产品中心</a></li>
    <li>当前商品详情</li>
</ul>
css 复制代码
.breadcrumb {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 8px;
}
.breadcrumb li:not(:last-child)::after {
    content: ">";
    margin-left: 8px;
    color: #999;
}

说明 :面包屑用 <ul> 语义合理,因为每一级是并列的路径节点。

案例 4:无序列表的默认样式展示

html 复制代码
<h3>旅游必备物品</h3>
<ul>
    <li>舒适的运动鞋</li>
    <li>防晒霜与遮阳帽</li>
    <li>便携水壶与充电宝</li>
</ul>

默认效果:

  • ● 舒适的运动鞋
  • ● 防晒霜与遮阳帽
  • ● 便携水壶与充电宝

四、<ul> 与 <ol> 的选择判断

课堂上可以用一个简单的判断法:

判断问题 用 <ul> 用 <ol>
调换顺序会影响意思吗? 不影响 影响
项与项之间有先后/步骤关系吗? 没有 有
典型例子 菜单、分类、清单 步骤、排名、编号列表

举例对比:

html 复制代码
<!-- 并列关系 → ul -->
<ul>
    <li>苹果</li>
    <li>香蕉</li>
    <li>橘子</li>
</ul>

<!-- 步骤关系 → ol -->
<ol>
    <li>打开冰箱</li>
    <li>拿出食材</li>
    <li>开始烹饪</li>
</ol>

五、使用要点(避坑提醒)

  1. <ul> 的直接子元素只能是 <li> ,不能直接放 <p>、<div> 等。
  2. 去掉默认样式时,记得同时清掉 list-style、padding、margin:
css 复制代码
ul { list-style: none; padding: 0; margin: 0; }
  1. 想自定义小圆点,可用 list-style-type:
css 复制代码
ul { list-style-type: disc; }   /* 实心圆 ● 默认 */
ul { list-style-type: circle; } /* 空心圆 ○ */
ul { list-style-type: square; } /* 方块 ■ */
  1. 横向排列用 display: flex,不推荐用古老的 float。

建议把**案例 1(导航栏)**作为课堂演示,因为它是网页中最常见、最实用的 <ul> 应用场景。

相关推荐
IT_陈寒7 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户2705077725248 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户499335025078 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李8 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD8 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队8 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY9 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js
码云之上9 小时前
10 颗一模一样的「Edit」:中后台 Web Agent 怎么找到对的那一行
前端·人工智能·浏览器
量化分析码农10 小时前
【Python量化多因子实战 04】因子暴露不是 alpha:市值与行业中性化实战
前端·后端
不可能片场10 小时前
Electron 发布 正文写入的三条通道与读回口径
前端·electron