CSS入门:ol,ul列表用法详解(附案例)

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。

云桃桃大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集

275篇原创内容-更多前端系列内容可以go公众.h:云桃桃

后台回复“前端工具”可获取开发工具,持续更新中

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

后台回复“前端电子书”可获取20+本精选电子书

前言

无序列表(<ul>)和有序列表(<ol>)是 HTML 中常用的列表标签。它们在网页中是一种灵活且功能强大的组合方式,能够帮助设计师和开发者有效地组织和展示网页内容,提高页面的可读性、可访问性和用户友好性。

  • ul:用于显示项目列表,项目之间没有顺序关系。默认使用实心圆(●)或者其他符号作为项目符号。

  • ol:用于显示项目序号列表,项目之间有顺序关系,通常用于列出步骤、排名等内容。默认使用数字(1, 2, 3...)作为项目序号,可以通过 CSS 修改序号样式。

通过使用无序列表和有序列表,可以使网页内容结构更加清晰,使用户更容易理解和浏览列表项内容。代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>List Example</title>
  </head>
  <body>
    <h2>无序列表示例</h2>
    <ul>
      <li>项目一</li>
      <li>项目二</li>
      <li>项目三</li>
    </ul>

    <h2>有序列表示例</h2>
    <ol>
      <li>步骤一</li>
      <li>步骤二</li>
      <li>步骤三</li>
    </ol>
  </body>
</html>

默认效果如下。

图片

它们适用于各种网页布局模块,例如一些常见的:

  • 导航菜单:创建水平或垂直的一级或者多级导航菜单,提供网站内部链接或页面分类链接。比如,水平的:

    图片

    垂直的:

    图片

  • 产品列表:在电子商务网站或商品展示页面中,可以使用它们来展示产品列表,每个列表项代表一个产品。比如,淘宝的这块:

    图片

  • 博客文章目录:在博客或文章页面中,可以使用 它们来创建文章目录,方便读者快速导航到感兴趣的部分。这个就比较常见了。比如公众号的。

    图片

  • 项目展示:在个人或团队作品展示页面中,可以用来展示项目列表,每个列表项可能包含项目的标题、简介和链接等信息。比如,soraWebui的。

    图片

总的来说,列表标签适用于一组需要展示有序或无序内容列表的网页布局模块,它们提供了统一性,灵活性和可定制性,可以根据需求进行样式设计和布局调整。

接下来我们一起来看看样式看细节吧。

样式属性

列表有这 3 种常见的 CSS 样式属性。

  1. list-style-type:用于指定列表项的项目符号或序号的类型。

    • 可用值包括 disc(实心圆点)、circle(空心圆圈)、square(实心方块)等(适用于无序列表),以及 decimal(十进制数字)、lower-roman(小写罗马数字)、upper-alpha(大写英文字母)等(适用于有序列表)。

    • 示例:list-style-type: disc;(无序列表使用实心圆点)、list-style-type: decimal;(有序列表使用十进制数字)。

  2. list-style-position:用于指定项目符号或序号的位置。

    • 可用值包括 inside(在列表项内部)、outside(在列表项外部)。

    • 示例:list-style-position: inside;(项目符号/序号在列表项内部)、list-style-position: outside;(项目符号/序号在列表项外部)。

  3. list-style-image:用于指定自定义的项目符号的图像。

    • 可以使用 url() 函数指定图像的路径。

    • 示例:list-style-image: url('path/to/image.png');(使用自定义图像作为项目符号)。

以下示例,展示了如何使用这些属性来定义列表的样式:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>List Style Example</title>
    <style>
      /* 定义无序列表的样式 */
      ul {
        list-style-type: circle; /* 实心圆圈作为项目符号 */
        list-style-position: inside; /* 项目符号在列表项内部 */
      }

      /* 定义有序列表的样式 */
      ol {
        list-style-type: upper-alpha; /* 大写英文字母作为序号 */
        list-style-position: outside; /* 序号在列表项外部 */
      }

      /* 定义自定义项目符号的样式 */
      .custom-list {
        list-style-image: url('img/icon-heart.png'); /* 自定义图像作为项目符号 */
      }
    </style>
  </head>
  <body>
    <h2>无序列表</h2>
    <ul>
      <li>列表项 1</li>
      <li>列表项 2</li>
      <li>列表项 3</li>
    </ul>

    <h2>有序列表</h2>
    <ol>
      <li>列表项 A</li>
      <li>列表项 B</li>
      <li>列表项 C</li>
    </ol>

    <h2>自定义项目符号列表</h2>
    <ul class="custom-list">
      <li>自定义列表项 1</li>
      <li>自定义列表项 2</li>
      <li>自定义列表项 3</li>
    </ul>
  </body>
</html>

效果如下:

图片

当然,列表样式也可以简写,简写的顺序是:list-style: list-style-type list-style-position list-style-image;,如果缺少上述的任一值,将会取其默认属性值。

但有时候呢,这些模式图标的类型不符合设计稿,又加上位置不好控制怎么办?那就可以把默认的样式图标给去掉。

其实在实际开发项目过程中,去掉样式的情况占 99% 以上,具体可参考我第一部分的一些网站截图,你也可以多看几个网站就知道了。虽然说,它们用的不一定都是 ul/ol,li,这种列表标签,但其实,用它们自带的样式的事极少极少的。

无图标的列表

要去掉列表的样式,可以使用 CSS 的 list-style-type 属性,并将其值设为 none。这样做可以移除列表项前面的默认样式(如项目符号或序号),以下是代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Remove List Style</title>
    <style>
      /* 去掉列表的默认样式和间距 */
      ul,
      ol {
        list-style-type: none; /* 将列表样式设为无 */
      }
    </style>
  </head>
  <body>
    <h2>无序列表</h2>
    <ul>
      <li>列表项 1</li>
      <li>列表项 2</li>
      <li>列表项 3</li>
    </ul>

    <h2>有序列表</h2>
    <ol>
      <li>列表项 A</li>
      <li>列表项 B</li>
      <li>列表项 C</li>
    </ol>
  </body>
</html>

效果如下:

图片

在上面的代码中,ul 和 ol 元素都被选择器选中,并使用 list-style-type: none; 将它们的列表样式设为无,这样就移除了列表项前面的默认样式。

通过这样,可以提供更大的自由度和灵活性,增强视觉统一性,能更好满足用户的定制化需求,从而实现更好的用户体验和视觉效果。因为,写页面的时候通常不用默认的样式规则,所以,注意:这也是写页面的时候,必须重置的一个项。

案例:自定义图标的导航列表

去掉默认样式以后呢,如果想自定义列表的图标和图标与内容的距离,可以怎么做呢?通过增加标签的形式放置在文本前面,就可以了。代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      * {
        margin: 0px;
        padding: 0px;
      }
      li {
        list-style-type: none;
      }
      /* 以上均为重置 */
      .list-box {
        margin: 20px;
        width: 800px;
      }
      /* 给li 增加背景色 */
      .list-box li {
        background-color: #f8b1a7;

        line-height: 30px;
        margin-bottom: 10px;

        cursor: pointer; /* 鼠标悬停时变成小手 */
      }
      /* 可以自由控制图片的大小,和上下左右的位置 */
      .list-icon {
        float: left;
        margin: 0px 10px 0px 10px;
        height: 30px;
        width: 21px;
        background-repeat: no-repeat;
        background-position: center center;
      }
      /* 图标是在iconfont找的,21*21像素 */
      .icon-heart {
        background-image: url(img/icon-heart.png);
      }
      .icon-news {
        background-image: url(img/icon-news.png);
      }
      .icon-study {
        background-image: url(img/icon-study.png);
      }
      .icon-more {
        background-image: url(img/icon-more.png);
      }
      .list-txt {
        color: #fff;
      }
    </style>
  </head>
  <body>
    <ul class="list-box">
      <li>
        <i class="list-icon icon-heart"></i>
        <span class="list-txt">心情树洞</span>
      </li>
      <li>
        <i class="list-icon icon-news"></i>
        <span class="list-txt">新闻资讯</span>
      </li>
      <li>
        <i class="list-icon icon-study"></i>
        <span class="list-txt">学习中心</span>
      </li>
      <li>
        <i class="list-icon icon-more"></i>
        <span class="list-txt">新闻资讯</span>
      </li>
      <li>
        <i class="list-icon icon-heart"></i>
        <span class="list-txt">心情树洞</span>
      </li>
      <li>
        <i class="list-icon icon-news"></i>
        <span class="list-txt">新闻资讯</span>
      </li>
      <li>
        <i class="list-icon icon-study"></i>
        <span class="list-txt">学习中心</span>
      </li>
      <li>
        <i class="list-icon icon-more"></i>
        <span class="list-txt">新闻资讯</span>
      </li>
    </ul>
  </body>
</html>

效果如下:

图片

这就是一个自定义的列表啦,列表也可以应用任何外观 CSS 属性哈,比如,我在这里给li增加的背景色,比如,你可以给它加边框,增加内边距等等,都可以。

ok,本文完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值