【CSS】纯CSS实现三级导航(模板)

以前觉得级联导航实现应该很简单,就是使用css的hover属性来实现就可以了,于是也没有过多地留意实践。可是在最近的面试当中,当被问到这个问题的时候才明白,很多东西不能想当然地以为这样做就可以了,不单只是知道大概的思路就认为OK了,更需要实际的动手能力。

后来就实际操作了级联菜单的实现,借此机会把它弄成一个模板来和大家一起学习。

以下是HTML部分:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>纯css级联导航</title>
</head>
<body>
    <div class="main">
    	<ul class="one-nav">
    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    			</ul>
    		</li>

    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    			</ul>
    		</li>

    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li>
    					<a href="javascript:;">二级导航></a>
    					<ul class="three-nav">
    						<li><a href="javascipt:;">三级导航</a></li>
    						<li><a href="javascipt:;">三级导航</a></li>
    						<li><a href="javascipt:;">三级导航</a></li>
    					</ul>
    				</li>
    				<li><a href="javascript:;">二级导航</a></li>
    			</ul>
    		</li>

    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    			</ul>
    		</li>

    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    			</ul>
    		</li>

    		<li>
    			<a href="javascript:;">一级导航</a>
    			<ul class="two-nav">
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li><a href="javascript:;">二级导航</a></li>
    				<li>
    					<a href="javascript:;"><二级导航</a>
    					<ul class="three-nav">
    						<li><a href="javascipt:;">三级导航</a></li>
    						<li><a href="javascipt:;">三级导航</a></li>
    						<li><a href="javascipt:;">三级导航</a></li>
    					</ul>
    				</li>
    			</ul>
    		</li>
    	</ul>
    </div>
</body>
</html>

CSS部分:

body,div,ul,li,a{margin: 0;padding: 0;text-decoration: none;}
	/* 一级导航 */
	.one-nav li{list-style-type: none;float: left;width: 16.57%;text-align: center;background-color: #3391E6;border-right: 1px solid white;cursor: pointer;height: 30px;line-height: 30px;}
	.one-nav li:nth-last-child(1){border-right: none;}
	.one-nav li a{color: white;}
	.one-nav li:hover .two-nav{display: block;}
	.one-nav li:hover{background-color: #4260D7;}

	/* 二级导航 */
	.two-nav {display: none;}
	.two-nav li{width: 100%;}
	.two-nav li:hover .three-nav{display: block;position: relative;}

	/* 三级导航 */
	.three-nav{position: absolute;width:100%;left: 100%;bottom: 100%;}
	/* 最右边的三级导航显示在左边 */
	.one-nav li:nth-last-child(1)  .two-nav li  .three-nav li{width: 100%;position:relative;right: 200%;}

效果图如下:

例子比较简单,但往往越简单的东西越需要脚踏实地地去实践和经历,人生已如此,共勉。

Author:致知

Sign:路漫漫其修远兮,吾将上下而求索。

时间: 2024-10-13 07:17:15

【CSS】纯CSS实现三级导航(模板)的相关文章

css 纯css自适应页面 示例

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>纯CSS自适应响应式Table数据表格DEMO演示</title> 6 7 <style> 8 *{ 9 box-sizing: border-box; 10 -webkit-box-sizing: border-box; 11 -moz-box-sizing: b

纯CSS 图片演示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c

纯css实现省略号,兼容火狐,IE9,chrome

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>多行文本实现省略号显示</title> </head> <style type="text/css"> /*纯css实现省略号,兼容火狐,IE9,chrome*/ .wrap{ height:40px;line-h

纯css实现的三级水平导航菜单

vscode练习使用开发纯css的三级水平导航菜单.先上图: 1.html5布局 1 <html> 2 3 <head> 4 <meta charset="UTF-8"> 5 <title>水平导航菜单</title> 6 <link rel="stylesheet" href="reset.css"> 7 <link rel="stylesheet"

less可以做什么?less详解!(less嵌套选择器实现纯CSS二级导航)

前端技术众多,作为一名前端工程师,我们每接触新技术首先要懂得此技术的优势和劣势,这是最基本的.往深入了说还需要懂得技术的应用场景,与之配合的技术等,方便为以后架构做准备.而less作为一门CSS预处理语言,拥有函数式变成的特点,主要优点就是高效.主要适用于包含众多CSS的大型项目.主要体现在:项目公共样式的定义,如页面主色.固定数值(宽.高.时间等).公用样式模板.封装省略浏览器兼容前缀的函数等. 1.less的两种使用方式 1.1 直接调用需要引入less.js,和less样式文件,需要注意的

淘宝分类导航条;纯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> <style type="t

纯CSS实现的二级下拉导航菜单实例代码

纯CSS实现的二级下拉导航菜单实例代码:二级下拉菜单在众多的网站都有应用,不但能够有效的组织分类导航,并且能够节省大量的网站空间,也能够实现网站的动态化效果,大多数二级导航菜单都是结合javascript实现,本章节介绍一下使用纯css实现的下拉菜单.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" co

纯HTML+CSS带说明的黄色导航菜单

HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航 在线体验效果:http://hovertree.com/texiao/css/1.htm 代码如下,保存到HTML文件可以看到效果: <!DOCTYPE html > <html > <head> <title>HoverTree带说明的CSS菜单-hovertree.com</title><base target="_blank" /&g

一款纯css实现的漂亮导航

今天给大家分享一款纯css实现的漂亮导航.之前为大家分享过jquery实现的个人中心导航菜单,今天这款也是适合放在个人中心.还带来图标,效果不错.一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <div class="l-main"> <div class="menu"> <header class="menu__header"> <h1 class="menu__hea