`

浅谈纯CSS实现二级导航(优缺点与局限性)

阅读更多

【前言】

      本文简单说下如何用CSS实现二级导航,CSS实现的缺点很明显:二级导航无法实现过渡效果,高度变化由0变auto的过程和display由none变block一样,无法实现过渡

  注意(局限性):高度变化若想出现过渡效果,必须由0变到指定高度,如0-200px等才可以。

 

【主体

(1)height由0变为auto

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>JS</title>
	<style type="text/css">
		*{
			margin: 0;
			padding: 0;
		}
		li{
			list-style: none;
		}
		a{
			text-decoration: none;
		}
		.nav{
			width: 80%;
			height: 40px;
			line-height: 40px;
			margin: auto;
		}
		.nav>li{
			float: left;
			min-width: 150px;
			position: relative;
			padding-bottom: 10px;
		}
		.nav>li>a{
			display: block;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.3);
			text-align: center;
			color: white;
		}
		.nav>li>ul{
			position: absolute;
			top: 50px;
			background: rgba(0,0,0,0.2);
			min-width: 150%;
			left: -25%;
			height: 0px;
			overflow: hidden;
			transition: all 0.6s;
		}
		.nav>li>ul>li>a{
			text-align: center;
			display: block;
			width: 100%;
			height: 100%;
			color: white;
		}
		.nav>li>a:hover{
			background: rgba(0,0,0,0.4);
		}
		.nav>li:hover ul{
			/*display: block;*/
			height: auto;
		}
		.nav>li>ul>li>a:hover{
			background: rgba(0,0,0,0.4);
		}
	</style>
</head>
<body>
	<!-- CSS实现的缺点很明显:二级导航无法实现过渡效果,高度变化由0变auto的过程和display由none变block一样,无法实现过渡。
		注意:高度变化若想出现过渡效果,需要由0变到指定高度,如0-200px等才可以。 -->
<ul class="nav">
	<li>
		<a href="#">首页</a>
	</li>
	<li>
		<a href="#">简介</a>
		<ul>
			<li><a href="#">创建时间</a></li>
			<li><a href="#">上市时间</a></li>
			<li><a href="#">风投时间</a></li>
		</ul>
	</li>
	<li>
		<a href="#">应聘</a>
		<ul>
			<li><a href="#">技术岗</a></li>
			<li><a href="#">管理岗</a></li>
			<li><a href="#">人资岗</a></li>
		</ul>
	</li>
	<li>
		<a href="#">产品</a>
		<ul>
			<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>
</ul>
</body>
</html>

 

(2)height由0变为200px----有过渡效果

将height的auto改为200px即可

 

(3)display由none改为block

.nav>li>ul{
	display: none;
}
.nav>li:hover ul{
	display: block;
}

 

.

分享到:
评论

相关推荐

    纯CSS制作二级导航下拉列表

    网页制作前端用纯CSS制作二级导航,用最简单的CSS样式实现二级导航下拉列表,html和css样式简洁清晰,一看就会,拿来就能直接用。

    纯CSS实现二级导航下拉菜单

    以上就是使用纯CSS实现二级导航下拉菜单的基本步骤。通过调整CSS属性,你可以自定义菜单的样式、动画效果以及交互行为,以适应不同网站的设计需求。记住,良好的导航设计应简洁易用,同时保持与网站整体风格的一致性...

    纯CSS二级导航菜单

    纯CSS二级导航菜单是一种常见的网页设计技术,它利用CSS(层叠样式表)来实现页面上的多级导航结构,而不依赖JavaScript或者其他脚本语言。这种技术对于提高网站的加载速度和可访问性非常有利,因为它减少了对服务器...

    纯CSS精美二级导航栏

    纯CSS精美二级导航栏,博客http://www.cnblogs.com/hxsyl/p/4489518.html

    纯css实现漂亮的左右二级导航

    纯css实现的漂亮的左右二级导航效果,支持所有浏览器,无需任何javascript

    纯CSS实现的下拉导航三级菜单

    纯CSS实现的下拉导航三级菜单,纯CSS实现的下拉导航三级菜单

    Javascript+CSS实现的弧形导航二级菜单

    总结来说,"Javascript+CSS实现的弧形导航二级菜单"是一个融合了前端核心技术的项目,通过CSS实现视觉上的弧形设计,借助JavaScript增加交互性。这个设计不仅可以提升用户体验,也能展示出开发者对于现代Web技术的...

    实用纯div+css圆形二级导航菜单.rar

    这个名为“实用纯div+css圆形二级导航菜单.rar”的资源提供了一个使用这两种技术实现的圆形二级导航菜单实例。在这个压缩包中,包含了一些关键文件,如 `index.html`(主网页文件)、`sincol.net.txt`(可能是一个...

    纯css二级导航 兼容ie6

    本教程将聚焦于如何利用纯CSS实现一个兼容IE6的二级导航菜单,正如“纯css二级导航 兼容ie6”这个主题所示。 首先,让我们了解纯CSS导航菜单的基本概念。CSS(层叠样式表)是一种样式语言,用于描述HTML或XML(包括...

    纯CSS垂直三级网站导航菜单.zip

    【纯CSS垂直三级网站导航菜单】是一个用于网页设计的组件,它主要关注的是用户体验和页面的可导航性。这个菜单完全基于CSS3技术构建,不依赖JavaScript或其他编程语言,因此加载速度快,对浏览器的兼容性良好。以下...

    CSS实现动态二级菜单实例

    在网页设计中,二级菜单是一种常见的交互元素,用于组织大量链接和内容,特别是在导航栏中。本实例将探讨如何利用CSS(Cascading Style Sheets)技术来创建动态的二级菜单,提升用户在网站上的浏览体验。 首先,...

    纯css3简单响应式二级导航菜单代码

    "纯CSS3简单响应式二级导航菜单代码"就是一个专为现代网页设计打造的解决方案,它结合了CSS3的强大功能,实现了二级菜单的动态效果,并具有响应式设计,能够适应不同设备的屏幕尺寸。 CSS3是层叠样式表的第三个主要...

    纯css无限级导航

    一个用纯css做的无限极导航,只有一个页面,简单,简洁,演示里面已经添加到9级菜单导航,还可增加更多,但是子导航靠左还是靠右是要手动添加css样式控制。各级菜单都可以随内容的长度自行适应宽度,而当浏览器...

    迷人漂亮的纯CSS绿色二级网站菜单.rar

    "迷人漂亮的纯CSS绿色二级网站菜单"是一个专为网站设计的交互式导航菜单,以其独特的绿色风格和优雅的视觉效果而引人注目。这个菜单完全基于CSS(层叠样式表)构建,遵循了WEB标准,确保了良好的浏览器兼容性和性能...

    纯CSS实现横向导航栏

    纯CSS实现横向导航栏,导航栏分三级子菜单,主要所用的html标签为ul与li

    实用纯css+div二级图片导航菜单

    综上所述,"实用纯css+div二级图片导航菜单"的实现涉及到了CSS布局、HTML结构、伪类选择器、图片精灵、响应式设计、过渡效果以及访问性等多个方面。通过掌握这些知识点,开发者能够创建出既美观又功能完善的无脚本...

    纯CSS实现横向三级菜单导航栏

    本教程将详述如何使用纯CSS技术实现一个横向的三级联动菜单导航栏。这个功能对于那些需要展示多级分类信息的网站尤其有用,例如电商网站的产品分类、知识库的层级结构等。 首先,我们需要创建HTML结构来表示导航栏...

    二级导航菜单特效 html+css

    通过CSS的`:hover`伪类,可以实现当鼠标悬停在一级菜单上时,二级菜单出现的效果: ```css .nav li { position: relative; /* 使子元素可以相对定位 */ } .subnav { display: none; /* 默认隐藏二级菜单 */ ...

    纯CSS下拉导航代码

    纯CSS下拉导航菜单是一种基于CSS(层叠样式表)技术实现的网页导航栏,它无需依赖JavaScript或者其他脚本语言,就能实现动态效果,如下拉菜单的展开和收起。这种技术对于优化网页性能、提高网站加载速度以及增强移动...

Global site tag (gtag.js) - Google Analytics