A_Fann 2021-03-27 14:40 采纳率: 90.9%
浏览 81
已采纳

请问一下,怎么做到dnf官网导航栏的效果?

请问一下,dnf官网的导航栏的效果怎么实现

 上图是鼠标没有移到导航栏的状态

上图是鼠标移进去后会显示所有的二级导航菜单,当移到二级导航菜单后,对应的主导航就会改变样式,这个怎么实现啊,谢谢各位了

  • 写回答

3条回答 默认 最新

  • Kyle_Ping 2021-03-27 17:00
    关注

    使用css伪元素“:hover”、“:before”和js事件可以实现你想要的效果。

    粗略帮你写了一个

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>菜单</title>
    		<style type="text/css">
    			body {
    				/* backgrounsd-image: url("//ossweb-img.qq.com/upload/adw/image/23/20210324/7b72078494d82925ea4cdf57bb93fddb.jpeg"); */
    				background-position: center 0;
    				background-color: #000000;
    			}
    
    			ul {
    				list-style: none;
    				padding-left: 0;
    			}
    
    			li {
    				color: #ffffff;
    				cursor: pointer;
    			}
    
    			li:hover {
    				color: #ec4828;
    			}
    
    			div.menu-head {
    				margin-left: 263px;
    			}
    
    			ul.menu {
    				display: flex;
    			}
    
    			ul.menu li {
    				display: inline-block;
    				width: 137px;
    				height: 50px;
    				padding-top: 30px;
    				text-align: center;
    				position: relative;
    				overflow: hidden;
    				display: inline-block;
    				vertical-align: middle;
    				-webkit-transform: perspective(1px) translateZ(0);
    				font-size: 17px;
    			}
    
    			ul.menu li::before {
    				content: "";
    				position: absolute;
    				z-index: 1;
    				left: 51%;
    				right: 51%;
    				bottom: 2px;
    				background: #ec4828;
    				height: 4px;
    				-webkit-transition-property: left, right;
    				transition-property: left, right;
    				-webkit-transition-duration: 0.3s;
    				transition-duration: 0.3s;
    				-webkit-transition-timing-function: ease-out;
    				transition-timing-function: ease-out;
    			}
    			
    			ul.menu li:hover::before,
    			ul.menu li.cur:before {
    				left: 10px;
    				right: 10px;
    			}
    
    			.menu-drom-items {
    				position: absolute;
    				left: 0;
    				top: 75px;
    				/* height: 185px; */
    				width: 100%;
    				z-index: 1;
    				display: none;
    			}
    
    			.menu-drom-items .inner {
    				width: 1000px;
    				padding-top: 15px;
    				/* height: 225px; */
    				margin-left: 270px;
    				position: relative;
    			}
    
    			.menu-drom-items .inner>ul {
    				width: 137px;
    				float: left;
    				text-align: center
    			}
    
    			.menu-drom-items li {
    				line-height: 30px;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="menu-head">
    			<ul class="menu">
    				<li>
    					首页
    				</li>
    				<li>
    					活动
    				</li>
    			</ul>
    		</div>
    		<div class="menu-drom-items">
    			<div class="inner">
    				<ul>
    					<li>新闻公告</li>
    					<li>版本专题</li>
    				</ul>
    				<ul>
    					<li>官方活动</li>
    					<li>合作活动</li>
    				</ul>
    			</div>
    		</div>
    	</body>
    	<script src="./jquery.min.js"></script>
    	<script type="text/javascript">
    		$("ul.menu li").on('mouseenter', function(index) {
    			$(".menu-drom-items").show();
    		});
    		$("ul.menu li").on('mouseleave', function(index) {
    			$(".menu-drom-items").hide();
    		});
    		$(".menu-drom-items").on('mouseenter', function(index) {
    			$(".menu-drom-items").show();
    		});
    		$(".menu-drom-items").on('mouseleave', function(index) {
    			$(".menu-drom-items").hide();
    		});
    		$(".menu-drom-items ul").on('mouseenter',function(index) {
    			var index = $(this).index();
    			removeCur();
    			$($("ul.menu li")[index]).addClass("cur");
    		});
    		$(".menu-drom-items").on('mouseleave', function(index) {
    			removeCur();
    		});
    		
    		function removeCur() {
    			$("ul.menu li").each(function (){
    				if($(this).hasClass("cur")) {
    					$(this).removeClass("cur");
    				}
    			});
    		}
    	</script>
    </html>

    下面是效果

    仿dnf菜单效果

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器