前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二级菜单导航栏(左侧)「建议收藏」

二级菜单导航栏(左侧)「建议收藏」

作者头像
全栈程序员站长
发布2022-09-01 10:49:11
2.8K0
发布2022-09-01 10:49:11
举报

大家好,又见面了,我是你们的朋友全栈君。

目标:

实现左侧的二级菜单导航栏,自适应效果


效果图:

在这里插入图片描述
在这里插入图片描述

项目演示:

点击跳转到演示地址

代码:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>左侧导航栏</title>
	</head>
	<style> body{ 
      margin: 0; padding: 0; min-width: 100vw; min-height: 100vh; } .big_box{ 
      display: flex; } .left_daohang{ 
      width: 20%; height: 100vh; min-width: 260px;/* 设置最小宽度防止文字被压缩 */ background-color: #4b6383; overflow: auto; } .item1{ 
      width: 100%; height: 80px; line-height: 80px; display: flex; justify-content: space-between; cursor: pointer; } .item1:hover{ 
      background-color: #15305a; } .item1_text{ 
      font-size: 22px; color: white; overflow: hidden;/*超出隐藏*/ text-overflow: ellipsis;/*省略号*/ white-space: nowrap;/*设置文本不换行*/ } .item1_img{ 
      width: 30px; height: 30px; display: inline-block; margin: auto 20px; } .item1_img1{ 
      background: url(https://static-7184a2f2-3b0b-407a-adc8-4d450f35c1e7.bspapp.com/left_dahanglan/icon/b1.png) no-repeat center; background-size: 100% 100%; } .item1_img2{ 
      background: url(https://static-7184a2f2-3b0b-407a-adc8-4d450f35c1e7.bspapp.com/left_dahanglan/icon/b2.png) no-repeat center; background-size: 100% 100%; } .item1_img3{ 
      background: url(https://static-7184a2f2-3b0b-407a-adc8-4d450f35c1e7.bspapp.com/left_dahanglan/icon/b3.png) no-repeat center; background-size: 100% 100%; } .item1_img4{ 
      background: url(https://static-7184a2f2-3b0b-407a-adc8-4d450f35c1e7.bspapp.com/left_dahanglan/icon/b4.png) no-repeat center; background-size: 100% 100%; } .you{ 
     width: 30px; height: 30px; float: right; background: url(https://static-7184a2f2-3b0b-407a-adc8-4d450f35c1e7.bspapp.com/left_dahanglan/icon/you.png) no-repeat center; background-size: 100% 100%; } .item1_item2{ 
      cursor: pointer; display: none; } .item2{ 
      margin:20px auto; } .item2:hover{ 
      background-color: #15305a; } .item2_text{ 
      font-size: 20px; color: white; margin-left: 25%; } .content{ 
      width: 80%; height: 100vh; background-color: #cccccc; } </style>
	<body>
		<div class="big_box">
			<div class="left_daohang">
				<!-- 第一块:一级标题1 -->
				<div class="item1" name='1'>
					<div class="item1_img1 item1_img"></div>
					<span class="item1_text">一级标题1111111</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2" >
					<div class="item2">
						<span class="item2_text">二级标题1</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题2</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题3</span>
					</div>
				</div>
				
				<!-- 第1.5块:临时插入无二级标题 -->
				<div class="item1">
					<div class="item1_img4 item1_img"></div>
					<span class="item1_text">一级标题1.5</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<!-- 这部分不能删 -->
				</div>
				
			<!-- 第二块:一级标题2 -->
				<div class="item1">
					<div class="item1_img2 item1_img"></div>
					<span class="item1_text">一级标题2</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题4</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题5</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题6</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题7</span>
					</div>
				</div>
				
				<!-- 第三块:一级标题3 -->
				<div class="item1">
					<div class="item1_img3 item1_img"></div>
					<span class="item1_text">一级标题3</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题8</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题9</span>
					</div>
				</div>
				
				<!-- 第三块:一级标题3 -->
				<div class="item1">
					<div class="item1_img3 item1_img"></div>
					<span class="item1_text">一级标题3</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题8</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题9</span>
					</div>
				</div>
				
				<!-- 第三块:一级标题3 -->
				<div class="item1">
					<div class="item1_img3 item1_img"></div>
					<span class="item1_text">一级标题3</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题8</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题9</span>
					</div>
				</div>
				
				<!-- 第三块:一级标题3 -->
				<div class="item1">
					<div class="item1_img3 item1_img"></div>
					<span class="item1_text">一级标题3</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题8</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题9</span>
					</div>
				</div>
				
				<!-- 第三块:一级标题3 -->
				<div class="item1">
					<div class="item1_img3 item1_img"></div>
					<span class="item1_text">一级标题3</span>
					<div class="you item1_img"></div>
				</div>
				<div class="item1_item2">
					<div class="item2">
						<span class="item2_text">二级标题8</span>
					</div>
					<div class="item2">
						<span class="item2_text">二级标题9</span>
					</div>
				</div>
			</div>
		
			<div class="content">
			
			</div>
		</div>
	</body>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
	
	<script> $(document).ready(function(){ 
      for(let i = 0 ; i<$('.item1').length ; i++){ 
      if($('.item1_item2')[i].children.length==0){ 
      $('.item1')[i].children[2].className='item1_img' } }//遍历一级标题,如果二级标题为空则不显示图标 $('.item1').click( function(val){ 
      console.log($(this).children()[1].innerText);//点击一级标题,打印点击的栏目 $('.content').html($(this).children()[1].innerText);//在内容页显示点击的按钮文字 if($(this).next().is(":hidden")){ 
     //如果二级导航没打开,打开它 $(this).next().show(500); $(this).children('.you').css('transform','rotate(90deg)');//图片旋转90度 } else if($(this).next().children().length==0){ 
     }//如果没有二级导航,没操作 else{ 
     //如果二级导航打开了,关闭它 $(this).next().hide(500) $('.you').css('transform','rotate(0deg)');//图片回到原来样子 } } ); $('.item2').click(//带你就二级标题触发事件 function(val){ 
      console.log($(this).children()[0].innerText); $('.content').html($(this).children()[0].innerText); } ) }) </script>
</html>

说明:

1、 当屏幕缩小到一定程度,为了防止字体被压缩,变成省略号。 2、 设置最小宽度,防止页面被压缩没了。 3、左侧导航栏使用vh来获取屏幕的高度

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140620.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目标:
  • 效果图:
  • 项目演示:
  • 代码:
  • 说明:
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档