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 选择器进行扩展定义
相关推荐
天天扭码16 小时前
如何实现流式输出?一篇文章手把手教你!
前端·aigc·ai编程
前端 贾公子16 小时前
vue移动端适配方案 === postcss-px-to-viewport
前端·javascript·html
GISer_Jing17 小时前
AI营销增长:4大核心能力+前端落地指南
前端·javascript·人工智能
明远湖之鱼18 小时前
一种基于 Service Worker 的渐进式渲染方案的基本原理
前端
前端小端长18 小时前
Vue 中 keep-alive 组件的原理与实践详解
前端·vue.js·spring
FeelTouch Labs19 小时前
Nginx核心架构设计
运维·前端·nginx
雪球工程师团队19 小时前
别再“苦力”写后台,Spec Coding “跑” 起来
前端·ai编程
m0_4711996319 小时前
【场景】前端怎么解决离线收银、数据同步异常等场景问题
前端·javascript