`
hrtc
  • 浏览: 54755 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js+css实现的简易弹出式菜单(第二版模仿ibm开发中心的菜单)

阅读更多

下面是html代码,包括了css和js及测试的html标签,在ie6和ff3下测试通过,附详细注释以及源文件下载

<!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>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <style type="text/css">
	body {
		font-size: 14px;
	}

	.hrtc_popupmenu,.hrtc_popupmenu ul {
		margin: 0;
		padding: 0;
		list-style: none;/*取消列表样式*/
	}
	
	/*顶层链接样式*/
	.hrtc_popupmenu a{
		display: block;/*使a链接可以撑满父标签,这样空白处也会响应事件*/
		/*word-break:break-all; 文本过长自动换行*/
		text-decoration: none;
		color: #293D6B;
		background: #C3D3E0;
		text-align:center;
		width: 120px;/*顶层链接宽度*/
		font-weight: bold;
	}

	/*下层链接样式*/
	.hrtc_popupmenu ul li a{
		display: block;/*使a链接可以撑满父标签,这样空白处也会响应事件*/
		/*border:1px solid black;*/
		/*word-break:break-all; 文本过长自动换行*/
		text-decoration: none;
		text-align:left;
		width: 190px;/*下层链接宽度*/
		padding-left: 10px;
	}

	.hrtc_popupmenu a:hover{
		background-color: #98B1C4;
	}

	.hrtc_popupmenu li {
		float:left;/*设为浮动使得第一层菜单可以水平展开*/
		margin: 0;
		padding: 0;
		line-height: 20px;/*为了计算方便不设置padding属性,因此设置了该属性来控制间距*/
		position: relative;
		z-index: 1;
	}

	.hrtc_popupmenu li ul {
		display:none;/*隐藏子菜单*/
		position: absolute;/*设为绝对位置,不会影响父元素布局*/
		z-index: 100;/*最大允许zindex*/
		border:1px solid #98B1C4;
	}

	.hrtc_popupmenu li ul li {
		clear: left;/*下级菜单换行*/
	}
	
	.hrtc_popupmenu li ul li ul{
		top:0px;/*弹出式菜单偏移量*/
	}

  </style>
  <SCRIPT LANGUAGE="JavaScript">
  <!--
	/* 该例子只是为了演示,直接创建了对象*/
	var hrtc_popupmenu = {
		/**
			返回父节点下和某个路径匹配的元素集合
			@pNode 父节点
			@path 例如li>a 和 xpath类似
		*/
		selectNodes:function(pNode,path){
			var nodesRes = [pNode];
			var strs = path.toUpperCase().split(">");

			for(var i = 0;i < strs.length;i++){
				var nodesResT = [];
				for(j = 0;j < nodesRes.length;j++){
					nodesResT = nodesResT.concat(this.searchNodes(nodesRes[j],strs[i]));
				}
				nodesRes = nodesResT;
				if(nodesRes.length == 0){
					break;
				}
			}
			return nodesRes;
		}
		,
		/**
			搜索父节点下和某个标签匹配的元素集合
			@pNode 父节点
			@tagName 标签名
		*/
		searchNodes:function(pNode,tagName){
			var nodesRes = [];
			var nodes = pNode.childNodes;
			for(var i = 0;i < nodes.length;i++){
				if(nodes[i].nodeType == "1"){
					if(tagName == "*" || nodes[i].tagName == tagName){
						nodesRes.push(nodes[i]);
					}
				}
			}
			return nodesRes;
		}
		,
		/**
			返回父节点下第一个和某个路径匹配的元素
			@pNode 父节点
			@path 例如li>a 和 xpath类似
		*/
		selectNode:function(pNode,path){
			var strs = path.toUpperCase().split(">");
			var node = pNode;
			for(var i = 0;i < strs.length;i++){
				node = this.searchNode(node,strs[i]);
				if(!node){
					break;
				}
			}
			return node;

		}
		,
		/**
			搜索父节点下和第一个某个标签匹配的元素
			@pNode 父节点
			@tagName 标签名
		*/
		searchNode:function(pNode,tagName){
			var nodes = pNode.childNodes;
			for(var i = 0;i < nodes.length;i++){
				if(nodes[i].nodeType == "1"){
					if(nodes[i].tagName == tagName){
						return nodes[i];
					}
				}
			}

		}
		,
		doOnMouseOver:function(eleUL){
			eleUL.style.display = "block";
		}
		,
		doOnMouseOut:function(eleUL){
			eleUL.style.display = "none";
		}
		,
		/**
			绑定事件,为了兼容ie和ff
			@obj 要绑定事件的元素名
			@event 事件名
			@handler 处理事件
		*/
		bindEvent:function(obj,event,handler){
			if(document.all){
				obj.attachEvent("on"+event,handler);
			}else{
				obj.addEventListener(event,handler,false);
			}
		}
		,
		/**
			遍历菜单树
			@pNode 结点
			@left 样式,左边偏移位置
		*/
		traver:function(pNode,left){
			//绑定事件和属性
			if(pNode.nodeType == "1" && pNode.tagName == "UL"){
				var nodesUL = this.selectNodes(pNode,"li>ul");
				for(var i = 0;i < nodesUL.length;i++){
					var objLi = nodesUL[i].parentNode;
					//子节点设为absolute后,必须设置父节点为relative,这样子节点会相对于父节点计算坐标,计算方便,直接设置为+(向右展开)/-(向左展开)width
					//objLi.style.position = "relative";
					//这里用到了闭包,因为绑定的必须要是一个函数,并且需要把参数传进去
					this.bindEvent(objLi,"mouseover",function(obj,objUL){return function(){obj.doOnMouseOver(objUL);}}(this,nodesUL[i]));
					this.bindEvent(objLi,"mouseout",function(obj,objUL){return function(){obj.doOnMouseOut(objUL);}}(this,nodesUL[i]));

					var objA = this.selectNode(objLi,"a");
					
					nodesUL[i].style.left = left+"px";

					if(left > 0){
						objA.innerHTML = objA.innerHTML+" >";
					}else{
						objA.innerHTML = "< " + objA.innerHTML;
					}

									
				}
			}
			
			//遍历下层并设置宽度
			var nodes = pNode.childNodes;
			for(var i = 0;i < nodes.length;i++){
				if(nodes[i].nodeType == "1"){
					if(nodes[i].tagName == "UL" || nodes[i].tagName == "LI"){
						//每层菜单的首先出现的li的zIndex必须比后面的大否则会覆盖子层
						if(nodes[i].tagName == "LI"){
							nodes[i].style.zIndex = 100 - i ;
						}
						this.traver(nodes[i],left);
					}
				}
			}
		}
		,
		/**
		*@id 对象名
		*@offset 宽度
		*/
		bindMenu:function(id,offset){
			var menu;
			if(typeof id == "string"){
				menu = document.getElementById(id);
			} else {
				menu = id;
			}
			
			if(!menu || menu.nodeName != "UL"){
				alert("只能绑定UL元素");
				return;
			}

			//遍历第一次水平菜单
			var nodesUL = this.selectNodes(menu,"li>ul");
			for(var i = 0;i < nodesUL.length;i++){
				var objLi = nodesUL[i].parentNode;
				//这里无需设置relative因为是向下弹出菜单,下级菜单样式并非absolute
				//objLi.style.position = "relative";
				this.bindEvent(objLi,"mouseover",function(obj,objUL){return function(){obj.doOnMouseOver(objUL);}}(this,nodesUL[i]));
				this.bindEvent(objLi,"mouseout",function(obj,objUL){return function(){obj.doOnMouseOut(objUL);}}(this,nodesUL[i]));
			}
			
			var nodes = this.selectNodes(menu,"li");
			if (nodes.length > 0){
				//除了最优边的菜单都往右侧弹出,最右边的菜单往左侧弹出
				for(var i = 0;i < nodes.length - 1;i++){
					this.traver(nodes[i],offset);
				}
				
				this.traver(nodes[nodes.length - 1],-offset);
			}

		}
	
	}
	window.onload = function(){
		hrtc_popupmenu.bindMenu("hrtc_popupmenu",190);
	}
	
  //-->
  </SCRIPT>
 </HEAD>

 <BODY>
 <div style="float:left;">
  <ul id="hrtc_popupmenu" class="hrtc_popupmenu">
	<li><a href="#">菜单11</a></li>
	<li><a href="#">菜单12</a>
		<ul>
			<li><a href="#">菜单121</a></li>
			<li>
				<a href="#">菜单122</a>
				<ul>
					<li><a href="#">菜单1221</a></li>
					<li>
						<a href="#">菜单1222</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li><a href="#">菜单1222</a></li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单1223</a></li>
				</ul>
			</li>
			<li><a href="#">菜单123</a></li>
		</ul>
	</li>
	<li><a href="#">菜单13</a>
		<ul>
			<li><a href="#">菜单12111111111111111</a></li>
			<li>
				<a href="#">菜单122</a>
				<ul>
					<li><a href="#">菜单1221</a></li>
					<li>
						<a href="#">菜单1222</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li><a href="#">菜单1222</a></li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单1223</a></li>
				</ul>
			</li>
			<li><a href="#">菜单123</a>
				<ul>
					<li><a href="#">菜单121</a>
						<ul>
							<li><a href="#">菜单121</a></li>
							<li>
								<a href="#">菜单122</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li>
										<a href="#">菜单1222</a>
										<ul>
											<li><a href="#">菜单1221</a></li>
											<li><a href="#">菜单1222</a></li>
											<li><a href="#">菜单1223</a></li>
										</ul>
									</li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单123</a></li>
						</ul>
					</li>
					<li>
						<a href="#">菜单122</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li>
								<a href="#">菜单1222</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li><a href="#">菜单1222</a></li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单123</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="#">菜单13</a>
		<ul>
			<li><a href="#">菜单121</a></li>
			<li>
				<a href="#">菜单122</a>
				<ul>
					<li><a href="#">菜单1221</a></li>
					<li>
						<a href="#">菜单1222</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li><a href="#">菜单1222</a></li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单1223</a></li>
				</ul>
			</li>
			<li><a href="#">菜单123</a>
				<ul>
					<li><a href="#">菜单121</a>
						<ul>
							<li><a href="#">菜单121</a></li>
							<li>
								<a href="#">菜单122</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li>
										<a href="#">菜单1222</a>
										<ul>
											<li><a href="#">菜单1221</a></li>
											<li><a href="#">菜单1222</a></li>
											<li><a href="#">菜单1223</a></li>
										</ul>
									</li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单123</a></li>
						</ul>
					</li>
					<li>
						<a href="#">菜单122</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li>
								<a href="#">菜单1222</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li><a href="#">菜单1222</a></li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单123</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="#">菜单13</a>
		<ul>
			<li><a href="#">菜单121</a></li>
			<li>
				<a href="#">菜单122</a>
				<ul>
					<li><a href="#">菜单1221</a></li>
					<li>
						<a href="#">菜单1222</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li><a href="#">菜单1222</a></li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单1223</a></li>
				</ul>
			</li>
			<li><a href="#">菜单123</a>
				<ul>
					<li><a href="#">菜单121</a>
						<ul>
							<li><a href="#">菜单121</a></li>
							<li>
								<a href="#">菜单122</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li>
										<a href="#">菜单1222</a>
										<ul>
											<li><a href="#">菜单1221</a></li>
											<li><a href="#">菜单1222</a></li>
											<li><a href="#">菜单1223</a></li>
										</ul>
									</li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单123</a></li>
						</ul>
					</li>
					<li>
						<a href="#">菜单122</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li>
								<a href="#">菜单1222</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li><a href="#">菜单1222</a></li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单123</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="#">菜单14</a>
		<ul>
			<li><a href="#">菜单121</a></li>
			<li>
				<a href="#">菜单122</a>
				<ul>
					<li><a href="#">菜单1221</a></li>
					<li>
						<a href="#">菜单1222</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li><a href="#">菜单1222</a></li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单1223</a></li>
				</ul>
			</li>
			<li><a href="#">菜单123</a>
				<ul>
					<li><a href="#">菜单121</a>
						<ul>
							<li><a href="#">菜单121</a></li>
							<li>
								<a href="#">菜单122</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li>
										<a href="#">菜单1222</a>
										<ul>
											<li><a href="#">菜单1221</a></li>
											<li><a href="#">菜单1222</a></li>
											<li><a href="#">菜单1223</a></li>
										</ul>
									</li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单123</a></li>
						</ul>
					</li>
					<li>
						<a href="#">菜单122</a>
						<ul>
							<li><a href="#">菜单1221</a></li>
							<li>
								<a href="#">菜单1222</a>
								<ul>
									<li><a href="#">菜单1221</a></li>
									<li><a href="#">菜单1222</a></li>
									<li><a href="#">菜单1223</a></li>
								</ul>
							</li>
							<li><a href="#">菜单1223</a></li>
						</ul>
					</li>
					<li><a href="#">菜单123</a></li>
				</ul>
			</li>
		</ul>
	</li>
  </ul>
</div>
 </BODY>
</HTML>

 

 

 参考了下面纯css实现的三级菜单,下面的例子有一系列大概六篇文章,不过是偶然搜到的,现在完整的找不到了。谁知道能告诉我下。

 

<!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>三级dropdown弹出菜单</title>
<style type="text/css">
/* common styling */
.menu {font-family: arial, sans-serif; width:750px; position:relative; margin:0; font-size:11px; margin:50px 0;}
.menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000;width:104px; height:20px; text-align:center; color:#fff; border:1px solid #fff; background:#710069; line-height:20px; font-size:11px; overflow:hidden;}
.menu ul {padding:0; margin:0;list-style-type: none; }
.menu ul li {float:left; margin-right:1px; position:relative;}
.menu ul li ul {display: none;}
/* specific to non IE browsers */
.menu ul li:hover a {color:#fff; background:#36f;}
.menu ul li:hover ul {display:block; position:absolute; top:21px; left:0; width:105px;}
.menu ul li:hover ul li a.hide {background:#6a3; color:#fff;}
.menu ul li:hover ul li:hover a.hide {background:#6fc; color:#000;}
.menu ul li:hover ul li ul {display: none;}
.menu ul li:hover ul li a {display:block; background:#ddd; color:#000;}
.menu ul li:hover ul li a:hover {background:#6fc; color:#000;}
.menu ul li:hover ul li:hover ul {display:block; position:absolute; left:105px; top:0;}
.menu ul li:hover ul li:hover ul.left {left:-105px;}
</style>
<!--[if lte IE 6]>
<style type="text/css">
.menu ul li a.hide, .menu ul li a:visited.hide {display:none;}
.menu ul li a:hover ul li a.hide {display:none;}
.menu ul li a:hover {color:#fff; background:#36f;}
.menu ul li a:hover ul {display:block; position:absolute; top:21px; left:0; width:105px;}
.menu ul li a:hover ul li a.sub {background:#6a3; color:#fff;}
.menu ul li a:hover ul li a {display:block; background:#ddd; color:#000;}
.menu ul li a:hover ul li a ul {visibility:hidden;}
.menu ul li a:hover ul li a:hover {background:#6fc; color:#000;}
.menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0; color:#000;}
.menu ul li a:hover ul li a:hover ul.left {left:-105px;}
</style>
<![endif]-->
</head>
<body>
<div class="menu">
<ul>
<li><a class="hide" href="../menu/index.html">DEMOS</a>
<!--[if lte IE 6]>
<a href="../menu/index.html">DEMOS
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../menu/zero_dollars.html" title="The zero dollar ads page">zero dollars</a></li>
<li><a href="../menu/embed.html" title="Wrapping text around images">wrapping text</a></li>
<li><a href="../menu/form.html" title="Styling forms">styled form</a></li>
<li><a href="../menu/nodots.html" title="Removing active/focus borders">active focus</a></li>
<li><a class="hide" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">HOVER/CLICK &gt;</a>
<!--[if lte IE 6]>
<a class="sub" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">HOVER/CLICK &gt;
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../menu/form.html" title="Styling forms">styled form</a></li>
<li><a href="../menu/nodots.html" title="Removing active/focus borders">active focus</a></li>
<li><a href="../menu/hover_click.html" title="Hover/click with no active/focus borders">hover/click</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a href="../menu/shadow_boxing.html" title="Multi-position drop shadow">shadow boxing</a></li>
<li><a href="../menu/old_master.html" title="Image Map for detailed information">image map</a></li>
<li><a href="../menu/bodies.html" title="fun with background images">fun backgrounds</a></li>
<li><a href="../menu/fade_scroll.html" title="fade-out scrolling">fade scrolling</a></li>
<li><a href="../menu/em_images.html" title="em size images compared">em sized images</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="index.html">MENUS</a>
<!--[if lte IE 6]>
<a href="index.html">MENUS
<table><tr><td>
<![endif]-->
<ul>
<li><a href="spies.html" title="a coded list of spies">spies menu</a></li>
<li><a href="vertical.html" title="a horizontal vertical menu">vertical menu</a></li>
<li><a href="expand.html" title="an enlarging unordered list">enlarging list</a></li>
<li><a href="enlarge.html" title="an unordered list with link images">link images</a></li>
<li><a href="cross.html" title="non-rectangular links">non-rectangular</a></li>
<li><a href="jigsaw.html" title="jigsaw links">jigsaw links</a></li>
<li><a href="circles.html" title="circular links">circular links</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="../layouts/index.html">LAYOUTS</a>
<!--[if lte IE 6]>
<a href="../layouts/index.html">LAYOUTS
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../layouts/bodyfix.html" title="Cross browser fixed layout">Fixed 1</a></li>
<li><a href="../layouts/body2.html" title="Cross browser fixed layout">Fixed 2</a></li>
<li><a href="../layouts/body4.html" title="Cross browser fixed layout">Fixed 3</a></li>
<li><a href="../layouts/body5.html" title="Cross browser fixed layout">Fixed 4</a></li>
<li><a href="../layouts/minimum.html" title="A simple minimum width layout">minimum width</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="../boxes/index.html">BOXES</a>
<!--[if lte IE 6]>
<a href="../boxes/index.html">BOXES
<table><tr><td>
<![endif]-->
<ul>
<li><a href="spies.html" title="a coded list of spies">spies menu</a></li>
<li><a href="vertical.html" title="a horizontal vertical menu">vertical menu</a></li>
<li><a href="expand.html" title="an enlarging unordered list">enlarging list</a></li>
<li><a href="enlarge.html" title="an unordered list with link images">link images</a></li>
<li><a href="cross.html" title="non-rectangular links">non-rectangular</a></li>
<li><a href="jigsaw.html" title="jigsaw links">jigsaw links</a></li>
<li><a href="circles.html" title="circular links">circular links</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="../mozilla/index.html">MOZILLA</a>
<!--[if lte IE 6]>
<a href="../mozilla/index.html">MOZILLA
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../mozilla/dropdown.html" title="A drop down menu">drop down menu</a></li>
<li><a href="../mozilla/cascade.html" title="A cascading menu">cascading menu</a></li>
<li><a href="../mozilla/content.html" title="Using content:">content:</a></li>
<li><a href="../mozilla/moxbox.html" title=":hover applied to a div">mozzie box</a></li>
<li><a href="../mozilla/rainbow.html" title="I can build a rainbow">rainbow box</a></li>
<li><a href="../mozilla/snooker.html" title="Snooker cue">snooker cue</a></li>
<li><a href="../mozilla/target.html" title="Target Practise">target practise</a></li>
<li><a href="../mozilla/splittext.html" title="Two tone headings">two tone headings</a></li>
<li><a href="../mozilla/shadow_text.html" title="Shadow text">shadow text</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="../ie/index.html">EXPLORER</a>
<!--[if lte IE 6]>
<a href="../ie/index.html">EXPLORER
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../ie/exampleone.html" title="Example one">example one</a></li>
<li><a href="../ie/weft.html" title="Weft fonts">weft fonts</a></li>
<li><a href="../ie/exampletwo.html" title="Vertical align">vertical align</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
<li><a class="hide" href="../opacity/index.html">OPACITY</a>
<!--[if lte IE 6]>
<a href="../opacity/index.html">OPACITY
<table><tr><td>
<![endif]-->
<ul>
<li><a href="../opacity/colours.html" title="colour wheel">opaque colours</a></li>
<li><a href="../opacity/picturemenu.html" title="a menu using opacity">opaque menu</a></li>
<li><a href="../opacity/png.html" title="partial opacity">partial opacity</a></li>
<li><a href="../opacity/png2.html" title="partial opacity II">partial opacity II</a></li>
<li><a class="hide" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">&lt; HOVER/CLICK</a>
<!--[if lte IE 6]>
<a class="sub" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">&lt; HOVER/CLICK
<table><tr><td>
<![endif]-->
<ul class="left">
<li><a href="../menu/form.html" title="Styling forms">styled form</a></li>
<li><a href="../menu/nodots.html" title="Removing active/focus borders">active focus</a></li>
<li><a href="../menu/hover_click.html" title="Hover/click with no active/focus borders">hover/click</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
</div>
</body>
</html>
1
0
分享到:
评论

相关推荐

    div+css制作的弹出菜单

    二、弹出菜单基础结构 弹出菜单通常包含父菜单项和子菜单项。父菜单项在鼠标悬停时显示子菜单。以下是一个简单的HTML结构示例: ```html 父菜单1 子菜单1-1 子菜单1-2 父菜单2 子菜单2-1 子...

    使用html+css+js实现自定义弹出对话框/输入框

    在实现弹出对话框时,我们需要创建一个包含对话框元素的容器,例如`&lt;div&gt;`,并设置相应的ID或类名以便于CSS和JavaScript操作。例如: ```html 自定义对话框 请输入内容"&gt; 关闭 ``` 接着,CSS(Cascading ...

    向上弹出式菜单(css+js)

    在网页设计中,创建交互式的...总结来说,向上弹出式菜单的实现结合了CSS和JavaScript的力量,为用户提供了一种优雅的交互方式。通过理解这两种技术,开发者可以创建各种各样的网页交互元素,提升网站的整体用户体验。

    html+css+js实现点击弹出窗口效果

    用html+css+js/jquery实现的点击按钮弹出一个层窗口效果。注释部分使用js实现的,script部分则是jquery实现的,效果更好一些。可以把jquery部分注释掉来看js的效果

    div+css制作的弹出三级菜单

    本话题将重点讨论如何利用`div+css`技术制作一个实用的弹出式三级菜单,这个菜单适用于网站导航,方便用户快速访问深层次的页面内容,并且易于进行二次开发。 首先,`div`元素是HTML中的一个通用容器,可以容纳其他...

    基于html+css+js实现的模仿华为商城静态网页源码+项目说明(附静态网页效果链接).zip

    基于html+css+js实现的模仿华为商城静态网页源码+项目说明(附静态网页效果链接).zip 课程作业 静态网页设计实现 模仿华为商城静态网页源码 附静态网页效果链接 项目说明 html+css+js实现 基于html+css+js实现的...

    纯div+css制作的弹出菜单

    纯div+css制作的弹出菜单纯div+css制作的弹出菜单纯div+css制作的弹出菜单

    div+css+js实现菜单的收缩与展开

    div+css+js实现菜单的收缩与展开

    JavaScript+CSS 精仿淘宝首页顶部菜单

    JavaScript+CSS 精仿淘宝首页顶部菜单,淘宝顶部的工具条都知道吧,不是那种很标准...是淘宝各个主栏目的链接,说是精仿,实则是真正的淘宝菜单,因为CSS以及JS都是从淘宝扒下来的,只不过为了演示方便,去除了无用功能

    HTML+CSS+JS实现Echart大屏展示

    使用HTML+CSS+JS实现Echart大屏展示 Echarts模板网站: http://ppchart.com/#/ Echarts官方网站: https://echarts.apache.org/zh/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts

    js+css3交互式圆形图标菜单导航代码

    在这个案例中,“js+css3交互式圆形图标菜单导航代码”就是一个很好的示例,它利用JavaScript和CSS3的强大功能,为用户提供了直观且有趣的菜单导航体验。下面将详细介绍这个项目中的核心技术和实现方式。 首先,...

    HTML+CSS+JavaScript+jQuery+Bootstrap等前端框架实现的前端案例.zip

    本文将深入探讨这些技术,并基于"HTML+CSS+JavaScript+jQuery+Bootstrap等前端框架实现的前端案例.zip"这个压缩包中的webdemo-master项目,分析它们在实际应用中的作用。 首先,HTML(HyperText Markup Language)...

    web期末大作业 基于HTML+CSS+JavaScript实现的电子商城购物网站首页源码

    web期末大作业 基于HTML+CSS+JavaScript实现的电子商城购物网站首页源码 web期末大作业 基于HTML+CSS+JavaScript实现的电子商城购物网站首页源码 web期末大作业 基于HTML+CSS+JavaScript实现的电子商城购物网站首页...

    html+css+js实现漂亮网页

    1. **交互性**:JavaScript可以实现表单验证、下拉菜单、轮播图、模态框等交互效果。 2. **动画效果**:CSS3动画和JavaScript可以让元素平滑移动、淡入淡出,增强视觉吸引力。 3. **响应式布局**:通过媒体查询,...

    纯div+css制作的弹出菜单-01

    在网页设计领域,纯div+css制作的弹出菜单是一种常见的交互元素,它允许用户通过鼠标悬停或点击主菜单项来展示下级菜单。这种技术不仅提供了良好的用户体验,还能帮助优化页面性能,因为它不依赖JavaScript或其他...

    jq+css3弹动下拉菜单 jquery+css3弹动渐变下拉菜单代码下载.zip

    在前端开发中,创建交互式的用户界面是至关重要的,而下拉菜单是网站导航中常见的元素之一。"jq+css3弹动下拉菜单 jquery+css3弹动渐变下拉菜单代码下载.zip" 提供的资源正是这样一个结合了jQuery和CSS3技术的动态...

    jquery+css3右侧弹出伸缩导航菜单

    "jquery+css3右侧弹出伸缩导航菜单"是一个利用jQuery库和CSS3技术实现的交互式菜单效果,旨在提供一种从页面右侧弹出并可无限伸缩至左侧的导航体验。这种设计可以增加网站的用户体验,特别是对于那些需要多层级菜单...

Global site tag (gtag.js) - Google Analytics