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 选择器进行扩展定义
相关推荐
用户693717500138413 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦13 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户693717500138413 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水14 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫15 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll12316 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌17 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛17 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js
柳杉17 小时前
从动漫水面到赛博飞船:这位开发者的Three.js作品太惊艳了
前端·javascript·数据可视化