使用html和css实现一个简单的三级菜单

本文介绍了如何使用HTML和CSS创建一个三级菜单。通过相对和绝对定位,详细讲解了定位原理,包括相对定位不脱离文档流,绝对定位的参照物选择,以及定位层级的规则。并提供了完整的HTML和CSS代码示例。

三级菜单用到了绝对定位和相对定位

相对定位: position: relative;

  •                       没有脱离标准文档流
  •                       层级自动提高,会覆盖浮动元素
  •                        left:距离左边移动
  •                        right:距离右边移动
  •                        top:距离上边移动
  •                        bottom:距离下边移动

绝对定位:position: absolute;

  •                      如果祖先元素没有定位,相对于浏览器定位
  •                      如果祖先元素有定位,相对于"最近的"定位的祖先元素 定位
  •                      绝对定位会脱离标准文档流,影响下边的元素
  •                      绝对定位找参照祖先元素,应该用relative
  •                      经过绝对定位的元素会变成行内块元素

层级关系 :  定位层级>浮动层级>标准文档流的层级

效果图:

html全部代码:

<div class="wraper">
            <ul class="nav">
                <li><a href="#">首页</a></li>
                <li><a href="#">网上工作室</a>
                    <ul class="second">
                        <li><a href="#">游客</a></li>
                        <li><a href="#">工作人员</a></li>
                        <li><a href="#">管理层</a>
                        <ul class="third">
                                <li><a href="#">普通管理层</a></li>
                                <li><a href="#">vip</a></li>
                                <li><a href="#">svip</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li><a href="#">交流圈</a></li>
                <li><a href="#">登录</a></li>
                <li><a href="#">注册</a></li>
                <li><a href="#">联系我们</a></li>
            </ul>
        </div>

css全部代码:

* {
				margin: 0;
				padding: 0;
			}

			li {
				list-style: none;
			}

			a {
				text-decoration: none;
				color: white;
			}

			.wraper {
				width: 1250px;
				margin: 0 auto;
				background-color:dimgray;
				height: 50px;
				border: 1px solid white;
				border-radius: 20px 20px;
				/* 圆形边框 */
			}

			.wraper>ul>li {
				float: left;
				position: relative;
			}

			.nav {
				width: 1200px;
				margin: 0 auto;
			}

			.wraper ul li {
				height: 50px;
				line-height: 50px;
				width: 200px;
				background-color:dimgrey;
				text-align: center;
				font-weight: bolder;
				border-radius: 20px 20px;
                /* 圆形边框 */
			}

			.wraper ul li:nth-of-type(2) ul {
				display: none;
				/* 隐藏二级菜单*/
				position: absolute;
			}

			.wraper ul li:hover >a {
				color: darkred;
			}

			/* 鼠标悬浮字体变色 */

			.wraper ul li:nth-of-type(2):hover .second{
				display: block;
				/* 鼠标悬浮显示二级菜单*/
			}
			.third{
				position: absolute;
				top: 100px;
				left: 200px;
				display: none;
				/* 隐藏三级菜单 */
			}
			.second li:nth-of-type(3):hover ul{
				display: block;
				/* 鼠标悬浮显示三级菜单*/
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值