下拉菜单之CSS实现

CSS技术要点


位置:

一级菜单中当导航栏是横向导航,设置li的float为left;二级菜单中纵向导航,设置li的float为none(不能设置clear:both)

以及菜单中的li标签position设置为relative,二级菜单中的ul的position属性设置为absolute,top为一级菜单的高度,left为0


在a标签中:

1. a标签的display属性要设置为block

2. 宽和高:高度在最顶层ul中设置;宽度设置为自适应,用padding: 0 10px实现

3. 要让a标签的文字上下居中,将a的line-height的值设置为顶层ul标签中的height的值;因为是宽度自适应,所以左右居中不用设置

4. 其他所有视觉效果的实现,均在a标签中产生,如background-color, text-decoration, color等属性


HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" href="CSS/1.css">
	<script src="index.js"></script>
</head>
<body>
	<div id="nav">
		<ul class="first-nav">
			<li><a href="javascript:;" >home</a>
			<ul class="second-nav home">
					<li><a href="javascript:;">JAVAJAVASCRIT</a></li>
					<li><a href="javascript:;">JQuery</a></li>
				</ul>
			</li>
			<li><a href="javascript:;" >kecheng</a>
				<ul class="second-nav kecheng">
					<li><a href="javascript:;">JAVAJAVASCRIT</a></li>
					<li><a href="javascript:;">JQuery</a></li>
				</ul>
			</li>
			<li><a href="javascript:;" >learn</a>
			<ul class="second-nav learn">
					<li><a href="javascript:;">JAVAJAVASCRIT</a></li>
					<li><a href="javascript:;">JQuery</a></li>
				</ul>
			</li>
			<li><a href="javascript:;" >hhhh</a>
			<ul class="second-nav hhhh">
					<li><a href="javascript:;">JAVAJAVASCRIT</a></li>
					<li><a href="javascript:;">JQuery</a></li>
				</ul>
			</li>
			<li><a href="javascript:;" >aboutus</a>
			<ul class="second-nav aboutus">
					<li><a href="javascript:;">JAVAJAVASCRIT</a></li>
					<li><a href="javascript:;">JQuery</a></li>
				</ul>
			</li>
		</ul>
	</div>

	
</body>
</html>

CSS(SASS实现)已用CSS reset除去默认设置

ul.first-nav {
	width: 500px;
	height:40px;
	margin:0 auto;
	
	li{
		float:left;
		position: relative;

		a{
			background-color: #eee;
			display: block;
			padding: 0 10px;
			text-decoration: none;
			color:black;
			line-height: 40px;
			text-align: center;
		}

		a:hover{
			background-color: black;
			color: white;
		}

	
		ul.second-nav{
			position: absolute;
			top: 40px;
			left: 0;
			display: none;

			li{

				float: none;
				margin-top: 2px;

				a:hover{
					background-color:blue;
				};
			}
		}

	}

	li:hover{
			ul.second-nav{
				display: block;
			}
		}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值