【HTML/CSS】导航菜单的制作

1.垂直菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>垂直菜单</title>
<style>
*{margin:0;padding:0;font-size:14px;}
ul{list-style:none;width:100px;}清除圆点
a{text-decoration:none;height:30px;line-height:30px;background:#999;margin-bottom:2px;text-indent:20px;display:block;}
<!--li{height:30px;line-height:30px;background:#999;margin-bottom:2px;text-indent:20px;}-->//a转为块状,清除下划线,文字缩进
a:hover{background-color:#0FF;color:#F0F;}
</style>
</head>
<body>
<ul>
  <li><a href="#">首 页</a></li>
  <li><a href="#">新闻快讯</a></li>
  <li><a href="#">产品展示</a></li>
  <li><a href="#">售后服务</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
</body>
</html>

2.水平菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>垂直菜单</title>
<style>
*{margin:0;padding:0;font-size:14px;}
ul{list-style:none;}
a{text-decoration:none;height:30px;line-height:30px;background:#999;margin-bottom:2px;display:block;text-align:center;}
a:hover{background-color:#0FF;color:#F0F;}
li{float:left;width:100px;margin-right:2px;}
</style>
</head>
<body>
<ul>
  <li><a href="#">首 页</a></li>
  <li><a href="#">新闻快讯</a></li>
  <li><a href="#">产品展示</a></li>
  <li><a href="#">售后服务</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
</body>
</html>

3.圆角菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>圆角菜单</title>
<style>
*{margin:0;padding:0;font-size:14px;}
ul{padding-left:30px;list-style:none;border-bottom:10px solid #F30;height:50px;}
a{text-decoration:none;height:30px;line-height:30px;background:url(../../../Pictures/Camera%20Roll/QQ%E5%9B%BE%E7%89%8720170220182239.jpg);margin-bottom:2px;display:block;text-align:center;border-radius:10px 10px 0 0;}
a:hover{color:#F0F;background-position:0 30px;}
li{float:left;width:120px;margin-right:2px;margin-top:20px;}
</style>
</head>
<body>
<ul>
  <li><a href="#">首 页</a></li>
  <li><a href="#">新闻快讯</a></li>
  <li><a href="#">产品展示</a></li>
  <li><a href="#">售后服务</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
</body>
</html>

3.伸缩菜单

垂直方向延伸:height:40px;使高度延伸   margin-top:-10px;使向上延伸       line-height:40px;使文字垂直居中

水平方向延伸:(JavaScript)点击打开链接

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>圆角菜单</title>
<style>
*{margin:0;padding:0;font-size:14px;}
ul{padding-left:30px;list-style:none;border-bottom:10px solid #F30;height:50px;}
a{text-decoration:none;height:30px;line-height:30px;background:#999;;margin-bottom:2px;display:block;text-align:center;border-radius:10px 10px 0 0;width:120px;}
a:hover{color:#F96;;background:#0FF;}
li{float:left;margin-right:2px;margin-top:20px;}
</style>
<script>
window.οnlοad=function(){
	var A=document.getElementsByTagName('a');
	for(var i=0;i<A.length;i++){
		A[i].οnmοuseοver=function(){
			clearInterval(this.time);
			<!--清除动画,避免重叠-->
			var This=this;
			This.time=setInterval(function(){
				This.style.width=This.offsetWidth+8+"px";
				if(This.offsetWidth>=160){
					clearInterval(This.time)}
				},30)<!--定时器-->
			}
			<!--鼠标离开时还原-->
			A[i].οnmοuseοut=function(){
				clearInterval(this.time);
			var This=this;
			This.time=setInterval(function(){
				This.style.width=This.offsetWidth-8+"px";
				if(This.offsetWidth<=120){
					This.style.width="120px";
					clearInterval(This.time);}
				},30)
			}
		}
	}
</script>
</head>
<body>
<ul>
  <li><a href="#">首 页</a></li>
  <li><a href="#">新闻快讯</a></li>
  <li><a href="#">产品展示</a></li>
  <li><a href="#">售后服务</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
</body>
</html>


水平延伸(jQuery)

 <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script>	
$(function(){
	$('a').hover(
	function(){
		$(this).stop().animate({"width":"160px"},300)},
	function(){
		$(this).stop().animate({"width":"120px"},300)
		}
	)
	})
</script>

动画菜单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>动画菜单</title>
<style type="text/css">
* { margin: 0; padding: 0; font-size: 14px; }
a { color: #333; text-decoration: none }
ul{ list-style: none; }
.nav {height: 30px; border-bottom: 5px solid #F60; margin-left:50px; width:600px;}
.nav li { float: left; position:relative; height:30px; width:120px }
.nav li a { display: block; height: 30px; text-align: center; line-height: 30px; width:120px; background: #efefef; margin-left: 1px; }
.subNav{ position:absolute; top:30px; left:0; width:120px; height:0; overflow:hidden}
.subNav li a{ background:#ddd }
.subNav li a:hover{ background:#efefef}
</style>
<script>
window.οnlοad=function(){
    var aLi=document.getElementsByTagName('li');
	for(var i=0; i<aLi.length; i++){
		aLi[i].οnmοuseοver=function(){
            //鼠标经过一级菜单,二级菜单动画下拉显示出来
	 var sub=this.getElementsByTagName('ul')[0];
	 if(sub) {
	    var This=sub;
	    clearInterval(This.time);
	 This.time=setInterval(function(){
	     This.style.height=This.offsetHeight+16+"px";
	     if(This.offsetHeight>=120)
	     clearInterval(This.time);
	 },30) 
	 }
    
		}
        //鼠标离开菜单,二级菜单动画收缩起来。		
		aLi[i].οnmοuseοut=function(){
		var sub=this.getElementsByTagName('ul')[0];
	 if(sub) {
	    var This=sub;
	    clearInterval(This.time);
	 This.time=setInterval(function(){
	     This.style.height=This.offsetHeight-16+"px";
	     if(This.offsetHeight<=0)
	    
	     clearInterval(This.time);
	 },30) 	
            
		}
		
		}
	}
}
</script>
</head>
<body>
<ul class="nav">
    <li><a href="#">一级菜单</a>
    	<ul class="subNav">
        	<li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
        </ul>
    </li>
    <li><a href="#">一级菜单</a>
    	<ul class="subNav">
        	<li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
        </ul>
    </li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
</ul>
</body>
</html>





  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的示例: HTML 代码: ```html <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">新闻</a></li> <li class="dropdown"> <a href="#">产品</a> <ul class="dropdown-menu"> <li><a href="#">产品1</a></li> <li><a href="#">产品2</a></li> <li><a href="#">产品3</a></li> </ul> </li> <li><a href="#">关于我们</a></li> </ul> </nav> ``` CSS 代码: ```css nav ul { list-style: none; margin: 0; padding: 0; } nav li { display: inline-block; position: relative; } nav li a { display: block; padding: 10px; text-decoration: none; color: #333; } .dropdown-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 1; background-color: #fff; border: 1px solid #ccc; } .dropdown:hover .dropdown-menu { display: block; } .dropdown-menu li { display: block; } .dropdown-menu li a { display: block; padding: 10px; text-decoration: none; color: #333; } .dropdown-menu li:hover { background-color: #f5f5f5; } ``` 解释: - `nav ul` 和 `nav li` 用来设置导航条的样式。 - `nav li a` 用来设置导航链接的样式。 - `dropdown` 类用来标记下拉菜单的父元素。 - `dropdown-menu` 类用来设置下拉菜单样式,设置为绝对定位,隐藏起来。 - `dropdown:hover .dropdown-menu` 用来设置鼠标悬停在下拉菜单的父元素时,显示下拉菜单。 - `dropdown-menu li` 和 `dropdown-menu li a` 用来设置下拉菜单中的链接的样式。 - `dropdown-menu li:hover` 用来设置鼠标悬停在下拉菜单中的链接时的样式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值