2025年3月14日 星期五 甲辰(龙)年 月十三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Html+Div+Css(前端)

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

时间:01-31来源:作者:点击数:26

前言

无序列表(<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-imageurl('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>
  •       * {
  •         margin0px;
  •         padding0px;
  •       }
  •       li {
  •         list-style-type: none;
  •       }
  •       /* 以上均为重置 */
  •       .list-box {
  •         margin20px;
  •         width800px;
  •       }
  •       /* 给li 增加背景色 */
  •       .list-box li {
  •         background-color#f8b1a7;
  •         line-height30px;
  •         margin-bottom10px;
  •         cursor: pointer; /* 鼠标悬停时变成小手 */
  •       }
  •       /* 可以自由控制图片的大小,和上下左右的位置 */
  •       .list-icon {
  •         float: left;
  •         margin0px 10px 0px 10px;
  •         height30px;
  •         width21px;
  •         background-repeat: no-repeat;
  •         background-position: center center;
  •       }
  •       /* 图标是在iconfont找的,21*21像素 */
  •       .icon-heart {
  •         background-imageurl(img/icon-heart.png);
  •       }
  •       .icon-news {
  •         background-imageurl(img/icon-news.png);
  •       }
  •       .icon-study {
  •         background-imageurl(img/icon-study.png);
  •       }
  •       .icon-more {
  •         background-imageurl(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增加的背景色,比如,你可以给它加边框,增加内边距等等,都可以。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐