三级导航

博客分享了CSS三级导航的实现思路,主要涉及hover和定位的应用。从一级导航开始设置宽高,二级导航让高度由后续元素撑起,三级导航相对于二级导航进行绝对定位,还提醒了absolute定位的规则,最后附上代码希望大家指出不足。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三级导航算是一个比较常见的网页结构,下面想把自己弄了很久的三级导航的思路再理一下(主要是hover和定位的应用)~方便日后回顾。(代码附在文本下方)
整体先从一级导航开始,设置了五个一级导航,给导航设置了相应的宽,高度(.titl中设置)~因为二级导航会扩展竖直方向上整体的高度,所以.list1_sty1的heigtht设置为auto让它的高度被后续元素撑起来 三级导航只要设置一个绝对定位(absolute)相对于二级导航 (relative)设置top left
这里注意 absolute是对于最近的可定位元素来定位的,如果没有设置就针对于body进行定位~
下面是具体的代码不足希望大家指出


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css" media="screen">
	*{
		margin: 0px;
		padding: 0px;
	}
	.page{
		width: 900px;
		height: 800px;
		font-family: '微软雅黑';
		font-weight: bold;
	}
	.list_1{
			width: 160px;
			height: auto;
			position: fixed;
			left: 0;
			top: 50%;
			margin-top: -105px;
			cursor: pointer;
		}
		.list_1_style{
			width: 160px;
			height: auto;
			border-bottom: 1px solid #eee;
			border: 1px solid #eee;
			line-height: 40px;
			text-align: center;
			
		}
		.list_1_style ul{
			width: 160px;
			height: auto;
			border: 1px solid #eee;
			display: none;
			position: relative;
		}
		.list_1_style ul li{
			width: 160px;
			height: 40px;
			list-style: none;
			text-align: center;
			line-height: 40px;
			border-bottom: 1px solid #eee;
		}

		.titl{
			width: 160px;
			height: 40px;
		}
		.list_1_style:hover ul{
			display: block;
		}
		.special{
			border-top: 1px solid #eee;
		}
		.list-3{
			width: 160px;
			height: auto;
			position: absolute;
			top: 0px;
			left: 160px;
			border: 1px solid #eee;/*要把定位模式设在盒子容器里*/
			display: none;
		}

		.list3dom{
			width: 160px;
			height: 40px;
			line-height: 40px;
			text-align: center;
			border-bottom: 1px solid #eee;

		}
		.special:hover .list-3{/*因为在list-3里面设置了display none 所以这里对应回去display block  hover前面的是鼠标经过的元素*/
			display: block;
		}
	</style>
</head>
<body>
	<div class="page">
		<div class="list_1">
			<div class="list_1_style">
				<div class="titl">
					一级导航
				</div>
				<ul>
					<li class="special">二级导航1
						<div class="list-3">
							<div class="list3dom">
								导航3
							</div>
							<div class="list3dom">
								导航3
							</div>
							<div class="list3dom">
								导航3
							</div>
							<div class="list3dom">
								导航3
							</div>
							<div class="list3dom">
								导航3
							</div>
						</div>
					</li>
					<li>二级导航1
					</li>
					<li>二级导航1
					</li>
					<li>二级导航1
					</li>
					<li>二级导航1
					</li>
				</ul>
			</div>
			<div class="list_1_style">
				<div class="titl">
					一级导航
				</div>
				<ul>
					<li class="special">二级导航2</li>
					<li>二级导航2</li>
					<li>二级导航2</li>
					<li>二级导航2</li>
					<li>二级导航2</li>
				</ul>
			</div>
			<div class="list_1_style">
				<div class="titl">
					一级导航
				</div>
				<ul>
					<li class="special">二级导航3</li>
					<li>二级导航3</li>
					<li>二级导航3</li>
					<li>二级导航3</li>
					<li>二级导航3</li>
				</ul>
			</div>
			<div class="list_1_style">
				<div class="titl">
					一级导航
				</div>
				<ul>
					<li class="special">二级导航4</li>
					<li>二级导航4</li>
					<li>二级导航4</li>
					<li>二级导航4</li>
					<li>二级导航4</li>
				</ul>
			</div>
			<div class="list_1_style">
				<div class="titl">
					一级导航
				</div>
				<ul>
					<li class="special">二级导航5</li>
					<li>二级导航5</li>
					<li>二级导航5</li>
					<li>二级导航5</li>
					<li>二级导航5</li>
				</ul>
			</div>
		</div>
		
	</div>
</body>
</html>

加油加油

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值