当前位置:首页 > 编程技术 > 正文内容

构建漂亮的HTML树形菜单:层级结构导航的简单指南

yc8883个月前 (01-24)编程技术63

构建漂亮的HTML树形菜单:层级结构导航的简单指南

当我们在网页设计中需要展示层级结构的导航时,HTML树形菜单是一种常见而有效的选择。HTML本身提供了一些标签和结构,可以用于创建树形菜单。在这篇博客中,我将向你展示如何使用HTML和一些简单的CSS来创建一个漂亮而有层次感的树形菜单。

HTML结构

首先,我们需要一个HTML结构来表示我们的树形菜单。我们将使用无序列表 <ul> 和列表项 <li> 元素来构建树的分支和节点。以下是一个简单的例子:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Tree Menu Example</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>


    <ul>

        <li>Root

            <ul>

                <li>Branch 1

                    <ul>

                        <li>Leaf 1.1</li>

                        <li>Leaf 1.2</li>

                    </ul>

                </li>

                <li>Branch 2

                    <ul>

                        <li>Leaf 2.1</li>

                        <li>Leaf 2.2</li>

                    </ul>

                </li>

            </ul>

        </li>

    </ul>


</body>

</html>

CSS样式

接下来,我们可以添加一些CSS样式来美化我们的树形菜单。在这个例子中,我们将使用一些基本的样式,你可以根据自己的需求进行调整。

body {

    font-family: Arial, sans-serif;

    margin: 0;

    padding: 0;

}


.tree-menu {

    list-style-type: none;

    padding-left: 20px;

}


.tree-menu li {

    position: relative;

}


.tree-menu li::before {

    content: '';

    position: absolute;

    top: 0;

    left: -10px;

    width: 1px;

    height: 100%;

    background-color: #ccc;

}


.tree-menu li::after {

    content: '';

    position: absolute;

    top: 0;

    left: -5px;

    width: 5px;

    height: 5px;

    background-color: #ccc;

    border-radius: 50%;

    transform: translateX(-50%);

}


.tree-menu li:last-child::before {

    height: 50%;

}


.tree-menu ul {

    margin-left: 20px;

    padding-left: 0;

}


.tree-menu li:last-child::after {

    display: none;

}

解释CSS样式

  • list-style-type: none;: 移除默认的列表样式。

  • padding-left: 20px;: 设置整个树形菜单的左侧缩进。

  • position: relative;: 为每个列表项创建相对定位的容器。

  • ::before::after: 通过伪元素在列表项之间绘制连接线和节点。

  • margin-left: 20px;: 为子列表项添加左侧缩进,形成层级关系。

  • display: none;: 隐藏最后一个列表项的节点,以避免额外的连接线。

通过使用以上HTML和CSS代码,你可以创建一个简单而优雅的树形菜单。当然,你可以根据自己的项目需求进行进一步的样式和布局调整。希望这篇博客对你在构建HTML树形菜单时有所帮助!


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10948.html

分享给朋友:

“构建漂亮的HTML树形菜单:层级结构导航的简单指南” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...

【说站】linux中redis如何以redis用户重启?

【说站】linux中redis如何以redis用户重启?

通过上图我们可以看到,目前状态是已经以 redis 用户启动着,我想修改下 redis 的密码,然后怎么以 redis 用户重启呢?redis 是 nologin 用户,不能通过 su redis 切...