html列表标签及css列表属性

HTML 提供了三种主要的列表标签,分别用于不同场景:

  • 无序列表 <ul>:用于展示无顺序关系的项目,通常以符号(如圆点、方块等)标记。
  • 有序列表 <ol>:用于展示有顺序关系的项目,以数字或字母编号。
  • 定义列表 <dl>:用于展示术语及其定义的组合。

一、无序列表 <ul>

无序列表通过 <ul> 标签定义,列表项使用 <li> 标签包裹。默认显示为圆点符号。

html 复制代码
<ul>
  <li>苹果</li>
  <li>香蕉</li>
  <li>橙子</li>
</ul>

常用属性

  • type:可指定符号类型(如 disccirclesquare),但 CSS 更推荐替代此属性。

二、有序列表 <ol>

有序列表通过 <ol> 标签定义,列表项同样使用 <li> 标签。默认显示为数字编号。

html 复制代码
<ol>
  <li>第一步</li>
  <li>第二步</li>
  <li>第三步</li>
</ol>

常用属性

  • type:编号类型(如 1AaIi)。
  • start:起始编号(如 start="3" 从 3 开始)。
  • reversed:倒序编号(如 reversed)。

三、定义列表 <dl>

定义列表用于术语和解释的组合,包含:

  • <dt>:定义术语。
  • <dd>:术语的描述。
html 复制代码
<dl>
  <dt>HTML</dt>
  <dd>超文本标记语言</dd>
  <dt>CSS</dt>
  <dd>层叠样式表</dd>
</dl>

四、嵌套列表

列表可以嵌套使用,例如无序列表内包含有序列表:

html 复制代码
<ul>
  <li>水果
    <ol>
      <li>苹果</li>
      <li>香蕉</li>
    </ol>
  </li>
  <li>蔬菜</li>
</ul>

五、修改列表符号样式

使用 list-style-type 属性可以更改无序列表的符号样式或有序列表的编号类型。例如将无序列表的实心圆点改为空心圆:

css 复制代码
ul {
  list-style-type: circle;
}

支持的值包括:

  • 无序列表:disc(默认实心圆)、circle(空心圆)、square(方块)
  • 有序列表:decimallower-romanupper-alpha

六、完全移除列表符号

通过设置 list-style-type: none 并清除默认的内边距可以完全移除列表符号:

css 复制代码
ul {
  list-style-type: none;
  padding-left: 0;
}

七、使用自定义图片作为列表符号

list-style-image 属性允许使用图片替代默认符号:

css 复制代码
ul {
  list-style-image: url('custom-bullet.png');
}

八、控制列表符号位置

list-style-position 决定符号出现在列表项内部还是外部:

css 复制代码
ul {
  list-style-position: inside; /* 符号与文本对齐 */
}

九、通过伪元素实现高级自定义

通过 ::before 伪元素可以实现更灵活的自定义样式:

css 复制代码
ul.custom-list li::before {
  content: "•";
  color: #ff5733;
  padding-right: 8px;
}

十、多级列表样式嵌套

为不同层级的列表设置不同样式:

css 复制代码
ul li { color: #333; }
ul ul li { color: #666; }
ul ul ul li { color: #999; }

这段 CSS 代码通过嵌套的 ulli 选择器实现了对不同层级列表项的文字颜色控制。以下是具体分析:

选择器层级规则

  • ul li 选择所有直接嵌套在 ul 下的 li 元素,设置为深灰色(#333
  • ul ul li 选择嵌套在两层 ul 下的 li 元素,设置为中灰色(#666
  • ul ul ul li 选择嵌套在三层 ul 下的 li 元素,设置为浅灰色(#999

实际效果示例

html 复制代码
<ul>
  <li>一级列表项(深灰 #333)</li>
  <ul>
    <li>二级列表项(中灰 #666)</li>
    <ul>
      <li>三级列表项(浅灰 #999)</li>
    </ul>
  </ul>
</ul>

注意事项

  • 颜色值使用十六进制简写形式(3位),等同于6位形式的重复简写(如 #333 = #333333
  • 该规则不会影响其他非列表元素或不同嵌套结构的列表
  • 更深的嵌套层级需要追加更多 ul 选择器进行扩展定义
相关推荐
Anastasiozzzz2 分钟前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
Exquisite.36 分钟前
Nginx
服务器·前端·nginx
打小就很皮...1 小时前
dnd-kit 实现表格拖拽排序
前端·react.js·表格拖拽·dnd-kit
Ulyanov1 小时前
从静态到沉浸:打造惊艳的Web技术发展历程3D时间轴
前端·javascript·html5·gui开发
打小就很皮...1 小时前
React 19 + Vite 6 + SWC 构建优化实践
前端·react.js·vite·swc
Highcharts.js1 小时前
使用Highcharts与React集成 官网文档使用说明
前端·react.js·前端框架·react·highcharts·官方文档
这是个栗子1 小时前
AI辅助编程(二) - 通译千问
前端·ai·通译千问
VT.馒头1 小时前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
数研小生2 小时前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
Shirley~~2 小时前
Vue-skills的中文文档
前端·人工智能