首页 > 其他分享 >第八章 利用CSS制作导航菜单

第八章 利用CSS制作导航菜单

时间:2024-11-19 10:16:30浏览次数:3  
标签:8.1 none 菜单 color 第八章 li 导航 CSS

8.1 水平顶部导航栏


8.1.1 简单水平导航栏的设计与实现


8.1.1.1导航栏的创建

通常使用 HTML 的无序列表(<ul>)和列表项(<li>)来创建导航栏的基本结构。通过 CSS 对列表进行样式设置,去除默认的列表样式,如项目符号等,使其呈现为水平排列的导航栏

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>水平导航栏的制作</title>
		<style type="text/css">
			u1{
				list-style-type: none;
			}
			li{
				float: left;
			}
			a{
				text-decoration: none;
				display: block;
				width: 100px;
				text-align: center;
			}
		</style>
	
	</head>
	<body>
		<center>
			<h3>简单水平菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<u1>
				<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>
				<li><a href="#">服务器</a></li>
			</u1>
		</nav>
	</body>
</html>


8.1.1.2 列表样式的设计

设置列表的宽度、高度、背景颜色等属性,使其适应页面布局。可以使用 CSS 的display: inline-block属性将列表项设置为水平排列,同时调整间距和对齐方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>水平导航栏的制作</title>
		<style type="text/css">
			u1{
				list-style-type: none;
			}
			li{
				float: left;
			}
			a{
				text-decoration: none;
				display: block;
				width: 100px;
				text-align: center;
			}
		</style>
	
	</head>
	<body>
		<center>
			<h3>简单水平菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<u1>
				<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>
				<li><a href="#">服务器</a></li>
			</u1>
		</nav>
	</body>
</html>


8.1.1.3 超链接样式的设计

对导航栏中的超链接进行样式设置,包括字体颜色、字体大小、下划线等。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>水平导航栏的制作</title>
		<style type="text/css">
			u1{
				list-style-type: none;
			}
			li{
				float: left;
			}
			a{
				text-decoration: none;
				display: block;
				width: 100px;
				text-align: center;
			}
		</style>
	
	</head>
	<body>
		<center>
			<h3>简单水平菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<u1>
				<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>
				<li><a href="#">服务器</a></li>
			</u1>
		</nav>
	</body>
</html>


8.1.1.4 鼠标事件

可以通过 JavaScript 或 CSS 的:active伪类来实现鼠标点击时的效果,如改变颜色、添加阴影等。同时,可以设置鼠标移入和移出时的过渡效果,使交互更加平滑

​
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>水平导航栏的制作</title>
		<style type="text/css">
			u1{
				list-style-type: none;
			}
			li{
				float: left;
			}
			a{
				text-decoration: none;
				display: block;
				width: 100px;
				padding: 10px;
				text-align: center;
			}
			a:link,a:visited{
				background-color: #ff0000;
				color: #ffffff;
			}
			a:hover,a:active{
				background-color: #ffffff;
				color: #ff0000;
			}
		</style>
	
	</head>
	<body>
		<center>
			<h3>简单水平菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<u1>
				<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>
				<li><a href="#">服务器</a></li>
			</u1>
		</nav>
	</body>
</html>

​


8.1.2 下拉子菜单导航栏的设计与实现


8.1.2.1导航栏的创建

与简单水平导航栏类似,使用无序列表和列表项创建基本结构。但需要在其中添加子菜单的容器,通常使用另一个无序列表来表示子菜单

<!--示例程序8.2-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>下拉子导航栏的制作</title>
		<style type="text/css">
			/* 8.1.2.1导航栏的创建 */
			/* 8.1.2.2 列表样式的设计 */
			/* 8.1.2.3 二级菜单的隐藏和显示设计 */
			/* 8.1.2.4 DIV样式的设计 + 8.1.2.5 超链接样式的设计 */
			/* 8.1.2.6 鼠标事件 */
		</style>
	</head>
	<body>
		<center>
			<h3>下拉子菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<div id="nav">
				<ul>
					<li>前端
						<ol>
							<li>HTML5</li>
							<li>CSS</li>
							<li>Javascript</li>
						</ol>
					</li>
					<li>后台
						<ol>
							<li>Java</li>
							<li>PHP</li>
							<li>Python</li>
						</ol>
					</li>
					<li>移动应用
						<ol>
							<li>Android</li>
							<li>IOS</li>
						</ol>
					</li>
					<li>数据库
						<ol>
							<li>MySql</li>
							<li>SqlServer</li>
						</ol>
					</li>
					<li>操作系统
						<ol>
							<li>Linux</li>
							<li>Unix</li>
							<li>Windows</li>
						</ol>
					</li>
					<li>服务器
						<ol>
							<li>Tomcat</li>
							<li>WebSphere</li>
							<li>WebLogicc</li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.1.2.2 列表样式的设计

除了设置主菜单的列表样式外,还需要对子菜单的列表样式进行设计。可以设置子菜单的显示位置、背景颜色、边框等属性


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>下拉子导航栏的制作</title>
		<style type="text/css">
			/* 8.1.2.1导航栏的创建 */
			/* 8.1.2.2 列表样式的设计 */
			/* 8.1.2.3 二级菜单的隐藏和显示设计 */
			/* 8.1.2.4 DIV样式的设计 + 8.1.2.5 超链接样式的设计 */
			/* 8.1.2.6 鼠标事件 */
			ul,ol{
				list-style-type: none;
			}
			ul li{
				float:left ;
			}
			ul li ol li{
				float: none;
			}
		</style>
	</head>
	<body>
		<center>
			<h3>下拉子菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<div id="nav">
				<ul>
					<li><a href="#">前端</a>
						<ol>
							<li><a href="#">HTML5</a></li>
							<li><a href="#">CSS</a></li>
							<li><a href="#">Javascript</a></li>
						</ol>
					</li>
					<li><a href="#">后台</a>
						<ol>
							<li><a href="#">Java</a></li>
							<li><a href="#">PHP</a></li>
							<li><a href="#">Python</a></li>
						</ol>
					</li>
					<li><a href="#">移动应用</a>
						<ol>
							<li><a href="#">Android</a></li>
							<li><a href="#">IOS</a></li>
						</ol>
					</li>
					<li><a href="#">数据库</a>
						<ol>
							<li><a href="#">MySql</a></li>
							<li><a href="#">SqlServer</a></li>
						</ol>
					</li>
					<li><a href="#">操作系统</a>
						<ol>
							<li><a href="#">Linux</a></li>
							<li><a href="#">Unix</a></li>
							<li><a href="#">Windows</a></li>
						</ol>
					</li>
					<li><a href="#">服务器</a>
						<ol>
							<li><a href="#">Tomcat</a></li>
							<li><a href="#">WebSphere</a></li>
							<li><a href="#">WebLogicc</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.1.2.3 二级菜单的隐藏和显示设计

通过 CSS 的display:none属性将子菜单初始设置为隐藏状态。当鼠标悬停在主菜单上时,使用:hover伪类将子菜单显示出来。可以使用 JavaScript 来实现更加复杂的交互效果,如延迟显示、动画效果等


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>下拉子导航栏的制作</title>
		<style type="text/css">
			/* 8.1.2.1导航栏的创建 */
			/* 8.1.2.2 列表样式的设计 */
			/* 8.1.2.3 二级菜单的隐藏和显示设计 */
			/* 8.1.2.4 DIV样式的设计 + 8.1.2.5 超链接样式的设计 */
			/* 8.1.2.6 鼠标事件 */
			ul,ol{
				list-style-type: none;
			}
			ul li{
				float:left ;
			}
			ul li ol li{
				float: none;
			}
			ul li ol{
				display: none;
			}
			ul li:hover ol{
				display: block;
			}
		</style>
	</head>
	<body>
		<center>
			<h3>下拉子菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<div id="nav">
				<ul>
					<li><a href="#">前端</a>
						<ol>
							<li><a href="#">HTML5</a></li>
							<li><a href="#">CSS</a></li>
							<li><a href="#">Javascript</a></li>
						</ol>
					</li>
					<li><a href="#">后台</a>
						<ol>
							<li><a href="#">Java</a></li>
							<li><a href="#">PHP</a></li>
							<li><a href="#">Python</a></li>
						</ol>
					</li>
					<li><a href="#">移动应用</a>
						<ol>
							<li><a href="#">Android</a></li>
							<li><a href="#">IOS</a></li>
						</ol>
					</li>
					<li><a href="#">数据库</a>
						<ol>
							<li><a href="#">MySql</a></li>
							<li><a href="#">SqlServer</a></li>
						</ol>
					</li>
					<li><a href="#">操作系统</a>
						<ol>
							<li><a href="#">Linux</a></li>
							<li><a href="#">Unix</a></li>
							<li><a href="#">Windows</a></li>
						</ol>
					</li>
					<li><a href="#">服务器</a>
						<ol>
							<li><a href="#">Tomcat</a></li>
							<li><a href="#">WebSphere</a></li>
							<li><a href="#">WebLogicc</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.1.2.4 DIV样式的设计

可以使用<div>标签来包裹导航栏,设置其宽度、高度、背景颜色等属性,使其适应页面布局。同时,可以使用 CSS 的定位属性来调整导航栏的位置


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>下拉子导航栏的制作</title>
		<style type="text/css">
			/* 8.1.2.1导航栏的创建 */
			/* 8.1.2.2 列表样式的设计 */
			/* 8.1.2.3 二级菜单的隐藏和显示设计 */
			/* 8.1.2.4 DIV样式的设计 + 8.1.2.5 超链接样式的设计 */
			/* 8.1.2.6 鼠标事件 */
			ul,ol{
				list-style-type: none;
			}
			ul li{
				float: left;
			}
			ul li ol li{
				float: none;
			}
			ul li ol{
				display: none;
			}
			ul li:hover ol{
				display: block;
			}
			a{
				display: block;
				text-decoration: none;
				width: 100px;
				padding: 10px;
				text-align: center;
			}
			ul li a{
				background-color: #ff0000;
				color: #ffffff;
			}
			ul li ol lo a{
				background-color: #ffffff;
				color: #ff0000;
			}
		</style>
	</head>
	<body>
		<center>
			<h3>下拉子菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<div id="nav">
				<ul>
					<li><a href="#">前端</a>
						<ol>
							<li><a href="#">HTML5</a></li>
							<li><a href="#">CSS</a></li>
							<li><a href="#">Javascript</a></li>
						</ol>
					</li>
					<li><a href="#">后台</a>
						<ol>
							<li><a href="#">Java</a></li>
							<li><a href="#">PHP</a></li>
							<li><a href="#">Python</a></li>
						</ol>
					</li>
					<li><a href="#">移动应用</a>
						<ol>
							<li><a href="#">Android</a></li>
							<li><a href="#">IOS</a></li>
						</ol>
					</li>
					<li><a href="#">数据库</a>
						<ol>
							<li><a href="#">MySql</a></li>
							<li><a href="#">SqlServer</a></li>
						</ol>
					</li>
					<li><a href="#">操作系统</a>
						<ol>
							<li><a href="#">Linux</a></li>
							<li><a href="#">Unix</a></li>
							<li><a href="#">Windows</a></li>
						</ol>
					</li>
					<li><a href="#">服务器</a>
						<ol>
							<li><a href="#">Tomcat</a></li>
							<li><a href="#">WebSphere</a></li>
							<li><a href="#">WebLogicc</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.1.2.5 超链接样式的设计

与简单水平导航栏类似,对主菜单和子菜单中的超链接进行样式设置,增加交互效果


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>下拉子导航栏的制作</title>
		<style type="text/css">
			/* 8.1.2.1导航栏的创建 */
			/* 8.1.2.2 列表样式的设计 */
			/* 8.1.2.3 二级菜单的隐藏和显示设计 */
			/* 8.1.2.4 DIV样式的设计 + 8.1.2.5 超链接样式的设计 */
			/* 8.1.2.6 鼠标事件 */
			ul,ol{
				list-style-type: none;
			}
			ul li{
				float: left;
			}
			ul li ol li{
				float: none;
			}
			ul li ol{
				display: none;
			}
			ul li:hover ol{
				display: block;
			}
			a{
				display: block;
				text-decoration: none;
				width: 100px;
				padding: 10px;
				text-align: center;
			}
			ul li a{
				background-color: #ff0000;
				color: #ffffff;
			}
			ul li ol lo a{
				background-color: #ffffff;
				color: #ff0000;
			}
		    ul li a:hover{
				border-bottom: #aaddff solid 5px;
			}	
			ul li ol li a:hover{
				border-bottom: none;
				background-color: #ff0000;
				color: #ffffff;
			}
		</style>
	</head>
	<body>
		<center>
			<h3>下拉子菜单导航栏</h3>
		</center>
		<hr>
		<nav>
			<div id="nav">
				<ul>
					<li><a href="#">前端</a>
						<ol>
							<li><a href="#">HTML5</a></li>
							<li><a href="#">CSS</a></li>
							<li><a href="#">Javascript</a></li>
						</ol>
					</li>
					<li><a href="#">后台</a>
						<ol>
							<li><a href="#">Java</a></li>
							<li><a href="#">PHP</a></li>
							<li><a href="#">Python</a></li>
						</ol>
					</li>
					<li><a href="#">移动应用</a>
						<ol>
							<li><a href="#">Android</a></li>
							<li><a href="#">IOS</a></li>
						</ol>
					</li>
					<li><a href="#">数据库</a>
						<ol>
							<li><a href="#">MySql</a></li>
							<li><a href="#">SqlServer</a></li>
						</ol>
					</li>
					<li><a href="#">操作系统</a>
						<ol>
							<li><a href="#">Linux</a></li>
							<li><a href="#">Unix</a></li>
							<li><a href="#">Windows</a></li>
						</ol>
					</li>
					<li><a href="#">服务器</a>
						<ol>
							<li><a href="#">Tomcat</a></li>
							<li><a href="#">WebSphere</a></li>
							<li><a href="#">WebLogicc</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.1.2.6 鼠标事件

除了主菜单的鼠标事件外,还需要对子菜单的鼠标事件进行处理。当鼠标移入子菜单时,保持子菜单的显示状态;当鼠标移出子菜单时,延迟隐藏子菜单,以提高用户体验


8.2 纵向侧边导航栏


8.2.1 简单纵向导航栏的设计与实现


8.2.1.1导航栏的创建

        使用无序列表和列表项创建导航栏的基本结构。将列表设置为垂直排列,通过 CSS 的display:block属性实现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>示例8.2</title>
	</head>
	<body>
		<nav>
			<div>
				<h3>所有商品分类</h3>
				<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>
					<li><a href="#">运动器材</a></li>
					
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.1.2 DIV样式的设计

        使用<div>标签包裹导航栏,设置其宽度、高度、背景颜色等属性。可以使用 CSS 的定位属性将导航栏固定在页面的侧边

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>纵向导航栏的制作</title>
		<style type="text/css">
			div{
				background-color: #33cc00;
				width: 150px;
				padding: 10px;
			}
			h3{
				text-align: center;
				color: #eeeeee;
			}
		</style>
	</head>
	<body>
		<nav>
			<div>
				<h3>所有商品分类</h3>
				<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>
					<li><a href="#">运动器材</a></li>
					
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.1.3 列表样式的设计

        设置列表项的宽度、高度、背景颜色、边框等属性。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>纵向导航栏的制作</title>
		<style type="text/css">
			div{
				background-color: lemonchiffon;
				width: 150px;
				padding: 10px;
			}
			h3{
				text-align: center;
				color: pink;
			}
			ul{
				list-style-type: none;
				margin: 0;
				padding: 0;
			}
			a{
			    text-decoration: none;
				line-height: 30px;
				display: block;
				width: 150px;
				text-align: center;
			}
		</style>
	</head>
	<body>
		<nav>
			<div>
				<h3>所有商品分类</h3>
				<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>
					<li><a href="#">运动器材</a></li>
					
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.1.4 超链接样式的设计

        对导航栏中的超链接进行样式设置,包括字体颜色、字体大小、下划线等。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>纵向导航栏的制作</title>
		<style type="text/css">
			div{
				background-color: lemonchiffon;
				width: 150px;
				padding: 10px;
			}
			h3{
				text-align: center;
				color: pink;
			}
			ul{
				list-style-type: none;
				margin: 0;
				padding: 0;
			}
			a{
			    text-decoration: none;
				line-height: 30px;
				display: block;
				width: 150px;
				text-align: center;
			}
			a:link,a:visited{
				background-color:lavenderblush;
				color: #FFC0CB;
			}
			a:hover,a:active{
				background-color: #FFC0CB;
				color: #eeeeee;
			}
		</style>
	</head>
	<body>
		<nav>
			<div>
				<h3>所有商品分类</h3>
				<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>
					<li><a href="#">运动器材</a></li>
					
				</ul>
			</div>
		</nav>
	</body>
</html>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>纵向导航栏的制作</title>
		<style type="text/css">
			div{
				background-color: lemonchiffon;
				width: 150px;
				padding: 10px;
			}
			h3{
				text-align: center;
				color: pink;
			}
			ul{
				list-style-type: none;
				margin: 0;
				padding: 0;
			}
			a{
			    text-decoration: none;
				line-height: 30px;
				display: block;
				width: 150px;
				text-align: center;
			}
			a:link,a:visited{
				background-color:lavenderblush;
				color: #FFC0CB;
			}
			a:hover,a:active{
				/* background-color: #FFC0CB;
				color: #eeeeee; */
				background-image: url(img/bg.JPG);
			}
		</style>
	</head>
	<body>
		<nav>
			<div>
				<h3>所有商品分类</h3>
				<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>
					<li><a href="#">运动器材</a></li>
					
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.2 出式子菜单导航栏的设计与实现


8.2.2.1 导航栏的创建

        与简单纵向导航栏类似,使用无序列表和列表项创建基本结构。在其中添加子菜单的容器,通常使用另一个无序列表来表示子菜单


8.2.2.2 DIV样式的设计

           设置<div>标签的宽度、高度、背景颜色等属性,使其适应页面布局。可以使用 CSS 的定位属性将导航栏固定在页面的侧边


8.2.2.3 二级菜单的隐藏和显示设计

        通过 CSS 的display:none属性将子菜单初始设置为隐藏状态。当鼠标悬停在主菜单上时,使用:hover伪类将子菜单显示出来。可以使用 JavaScript 来实现更加复杂的交互效果,如延迟显示、动画效果等

<!--示例程序8.4-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>出式子导航栏的制作</title>
		<style type="text/css">	
				div{
					background-color: #33cc00;
					width: 150px;
					padding: 10px;
				}
				h3{
					text-align: center;
					color: #ffffff;
				}
				ul,ol{
					list-style-type: none;
					margin: 0;
					padding: 0;
				}
				ul li ol{
					display: none;
					position: absolute;
					left: 150px;
					top: -1px;
				}
				ul li:hover ol{
					display: block;
					
				}
		</style>
	</head>
	<body>
		<nav>
			<div id="nav">
				<h3 class="tit">所有商品分类</h3>
				<ul>
					<li><a href="#">家居用品<img src="img/more.JPG" align="right" /></a>
						<ol>
							<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>
						</ol>
					</li>
					<li><a href="#">手机数码<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">电脑主机</a></li>
							<li><a href="#">鼠标键盘</a></li>
							<li><a href="#">无人机</a></li>
							<li><a href="#">数码相机</a></li>
						</ol>
					</li>
					<li><a href="#">家用电器<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">吸尘器</a></li>
							<li><a href="#">电饭煲</a></li>
							<li><a href="#">冰箱</a></li>
						</ol>
					</li>
					<li><a href="#">厨卫工具<img src="img/more.JPG" align="right" /></a>
						<ol>
							<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>
						</ol>
					</li>
					<li><a href="#">汽车用品<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">打蜡服务</a></li>
							<li><a href="#">超级试驾</a></li>
							<li><a href="#">导航仪</a></li>
							<li><a href="#">机油</a></li>
						</ol>
					</li>
					<li><a href="#">运动器材<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">跑鞋</a></li>
							<li><a href="#">帐篷</a></li>
							<li><a href="#">山地车</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.2.4 列表样式的设计

        设置主菜单和子菜单的列表样式,包括宽度、高度、背景颜色、边框等属性。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!--示例程序8.4-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>出式子导航栏的制作</title>
		<style type="text/css">	
				div{
					background-color: #33cc00;
					width: 150px;
					padding: 10px;
				}
				h3{
					text-align: center;
					color: #ffffff;
				}
				ul,ol{
					list-style-type: none;
					margin: 0;
					padding: 0;
				}
				ul li ol{
					display: none;
					position: absolute;
					left: 150px;
					top: -1px;
				}
				ul li:hover ol{
					display: block;
					
				}
				a{
					display: block;
					width: 150px;
					line-height: 30px;
					text-align: center;
					text-decoration: none;
				}
		</style>
	</head>
	<body>
		<nav>
			<div id="nav">
				<h3 class="tit">所有商品分类</h3>
				<ul>
					<li><a href="#">家居用品<img src="img/more.JPG" align="right" /></a>
						<ol>
							<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>
						</ol>
					</li>
					<li><a href="#">手机数码<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">电脑主机</a></li>
							<li><a href="#">鼠标键盘</a></li>
							<li><a href="#">无人机</a></li>
							<li><a href="#">数码相机</a></li>
						</ol>
					</li>
					<li><a href="#">家用电器<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">吸尘器</a></li>
							<li><a href="#">电饭煲</a></li>
							<li><a href="#">冰箱</a></li>
						</ol>
					</li>
					<li><a href="#">厨卫工具<img src="img/more.JPG" align="right" /></a>
						<ol>
							<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>
						</ol>
					</li>
					<li><a href="#">汽车用品<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">打蜡服务</a></li>
							<li><a href="#">超级试驾</a></li>
							<li><a href="#">导航仪</a></li>
							<li><a href="#">机油</a></li>
						</ol>
					</li>
					<li><a href="#">运动器材<img src="img/more.JPG" align="right" /></a>
						<ol>
							<li><a href="#">跑鞋</a></li>
							<li><a href="#">帐篷</a></li>
							<li><a href="#">山地车</a></li>
						</ol>
					</li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.2.2.5 超链接样式的设计

对主菜单和子菜单中的超链接进行样式设置,增加交互效果


8.3 底部固定导航栏


8.3.1 导航栏的创建

使用无序列表和列表项创建导航栏的基本结构。将其定位在页面的底部,可以使用 CSS 的position:fixed属性实现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>底部导航栏</title>
		<style type="text/css">
			
		</style>
	</head>
	<body>
		<nav>
			<div class="fix-footer">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">前端</a></li>
					<li><a href="#">后台</a></li>
					<li><a href="#">移动应用</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>

8.3.2 列表样式的设计

设置列表项的宽度、高度、背景颜色、边框等属性。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>底部导航栏</title>
		<style type="text/css">
			ul{
				list-style: none;
				margin: 0;
				padding: 0;
			}
			li{
				float: left;
			}
		</style>
	</head>
	<body>
		<nav>
			<div class="fix-footer">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">前端</a></li>
					<li><a href="#">后台</a></li>
					<li><a href="#">移动应用</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.3.3 菜单固定底部的设计

通过 CSS 的bottom:0属性将导航栏固定在页面的底部。可以设置导航栏的宽度、高度等属性,使其适应页面布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>底部导航栏</title>
		<style type="text/css">
			ul{
				list-style: none;
				margin: 0;
				padding: 0;
			}
			li{
				float: left;
			}
			a{
				display: block;
				width: 300px;
				padding: 10px;
				text-decoration: none;
				text-align: center;
			}
			a:link,a:visited{
				background-color: #0000ff;
				color: #ffff00;
			}
			a:hover,a:active{
				background-color: #ffff00;
				color: #0000FF;
			}
			.fix-footer{
				position: absolute;
				bottom: 0;
				
			}
		</style>
	</head>
	<body>
		<nav>
			<div class="fix-footer">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">前端</a></li>
					<li><a href="#">后台</a></li>
					<li><a href="#">移动应用</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>


8.3.4 超链接样式的设计

对导航栏中的超链接进行样式设置,包括字体颜色、字体颜色、字体大小、下划线等。可以使用:hover伪类来设置鼠标悬停时的样式,增加交互效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>底部导航栏</title>
		<style type="text/css">
			ul{
				list-style: none;
				margin: 0;
				padding: 0;
			}
			li{
				float: left;
			}
			a{
				display: block;
				width: 80px;
				padding: 10px;
				text-decoration: none;
			}
			a:link,a:visited{
				background-color: #0000ff;
				color: #ffff00;
			}
			a:hover,a:active{
				background-color: #ffff00;
				color: #0000FF;
			}
		</style>
	</head>
	<body>
		<nav>
			<div class="fix-footer">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">前端</a></li>
					<li><a href="#">后台</a></li>
					<li><a href="#">移动应用</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>

8.3.5 鼠标事件


可以通过 JavaScript 或 CSS 的:active伪类来实现鼠标点击时的效果,如改变颜色、添加阴影等。同时,可以设置鼠标移入和移出时的过渡效果,使交互更加平滑

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>底部导航栏</title>
		<style type="text/css">
			ul{
				list-style: none;
				margin: 0;
				padding: 0;
			}
			li{
				float: left;
			}
			a{
				display: block;
				width: 80px;
				padding: 10px;
				text-decoration: none;
			}
			a:link,a:visited{
				background-color: #0000ff;
				color: #ffff00;
			}
			a:hover,a:active{
				background-color: #ffff00;
				color: #0000FF;
			}
		</style>
	</head>
	<body>
		<nav>
			<div class="fix-footer">
				<ul>
					<li><a href="#">首页</a></li>
					<li><a href="#">前端</a></li>
					<li><a href="#">后台</a></li>
					<li><a href="#">移动应用</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>

8.4 综合案例——优名养生馆

8.4.1 封面页的设计与实现

(1)封面页页面布局较简单,要求有正文和底部两块区域,用于放图片信息和底部导航信息,而底部导航又根据优先级分上层的圆球菜单和下层的水平菜单。

(2)利用超链接为底部区域先添加圆球导航,并设置相应的CSS样式。

(3)利用列表为底部区域后添加水平导航,并设置相应的CSS样式。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>优名养生馆</title>
		<style type="text/css">
			body{
				background-image: url(img/bg.JPG)
			}
			ul{
				margin: 0;
				padding: 0;
				list-style-type: none;
			}
			li{
				width: 25%;
				float: left;
				line-height: 50px;
			}
			img{
				margin-top: 70px;
				margin-right: 40px;
			}
			.footer{
				height: 50px;
				width: 100%;
				background-image: url(img/footer-bg.jpg);
				border-top: 3px solid gray;
				text-align:center;
				z-index: 9998;
				position: fixed;
				bottom: 0;
				left: 0;
			}
			.footer-top{
				height: 90px;
				width: 90px;
				text-align: center;
				line-height: 90px;
				z-index: 9999;
				position: fixed;
				bottom: 0;
				left: 45%;
			}
			.footer-top a{
				border-radius: 90px;
			}
			.footer-top a:link,a:visited{
				display: block;
				font-size: 20px;
				color: brown;
				text-decoration: none;
				font-weight: bold;
				border-top: 3px solid gray;
				background-image: url(img/footer-top-bg1.jpg);
			}
			.footer-top a:hover{
				background-image: url(img/footer-top-bg2.jpg);
				color: white;
			}
			.footer a:link,a:visited{
				display: block;
				font-size: 20px;
				color: brown;
				text-decoration: none;
				font-weight: bold;
			}
			.footer a:hover{
				background-color: darkgray;
				border-left: 2px solid white;
				border-right: 2px solid white ;
				font-size: 16px;
				color: red;
			}
		</style>
	</head>
	<body>
		<div>
			<marquee direction="right" scrollamount="20">
				<img src="img/marquee1.jpg"/>
				<img src="img/marquee2.jpg"/>
				<img src="img/marquee3.jpg"/>
			</marquee>
		</div>
		<nav>
			<div class="footer-top">
				<a href="index.html">进入官网</a>
			</div>
			<div class="footer">
				<ul>
					<li><a href="#">奇幻世界</a></li>
					<li><a href="#">主题风采</a></li>
					<li><a href="#">加盟相关</a></li>
					<li><a href="#">友情推荐</a></li>
				</ul>
			</div>
		</nav>
	</body>
</html>

8.4.2 主页的设计与实现

主页页面布局要求有页头、正文和页脚三块区域。页头完成背景图片的添加和店名的输人;正文分左右两部分,分别完成侧边纵向导航和图文信息的添加;页脚完成版权信息。页头、正文和页脚三块区域均包含在div-all区域内。
(1)为页头区域添加背景图片,并加人嵌套的div,添加店名信息,最后设置相应的 CSS 样式。

(2)为正文区域左边添加纵向导航信息,并设置相应的CSS样式。

(3)为正文区域右边添加·图文信息,并设置相应的CSS样式。

(4)为页脚区域添加版权信息,并设置相应的CSS样式。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>优名养生馆</title>
		<style>
			body{
				background-image: url(img/bg.JPG);
			}
			.all{
				margin: 0px auto;
				width: 900px;
			}
			.top{
				width: 900px;
				height: 225px;
				background-image: url(img/top-bg.jpg);
			}
			.cent{
				width: 320px;
				margin-left: auto;
				margin-right: auto;
				font-size: 58px;
				font-family: "楷体";
				color: lemonchiffon;
				font-style: italic;
			}
			.nav{
				width: 200px;
				float: left;
				margin-top: 30px;
				font-size: 20px;
				font-weight: bold;
				color: saddlebrown;
			}
			.main{
				width: 700px;
				height: 300px;
				float: left;
				margin-top: 10px;
			}
			.footer{
				font-size: 14px;
				font-weight: bold;
				color: brown;
				text-align: center;
				clear: both;
				background-image: url(img/footer-bg.jpg);
			}
			p{
				color: brown;
				font-size: 16px;
			}
			img{
				margin: 15px;
			}
			ul{
				list-style-type: none;
			}
			li{
				height: 22px;
			}
			a:link{
				font-size: 16px;
				text-decoration: none;
				color: brown;
			}
			a:hover{
				background-color: burlywood;
				 color: white;
			}
		</style>
	</head>
	<body>
		<div class="all">
			<div class="top">
				<br>
				<div class="cent">优名养生馆</div>
			</div>
			<nav>
				<div class="nav">
					<table>
						<tr>养生之道</tr>
						<tr>
							<ul>
								<li><a href="#">运动养生</a></li>
								<li><a href="#">四季养生</a></li>
								<li><a href="#">健康检测</a></li>
							</ul>
						</tr>
						<tr>中医养生</tr>
						<tr>
							<ul>
								<li><a href="#">经络养生</a></li>
								<li><a href="#">体质养生</a></li>
								<li><a href="#">特色疗法</a></li>
							</ul>
						</tr>
					</table>
				</div>
			</nav>
			<div class="main">
				<img src="img/main.jpg" align="left"/>
				<p>&emsp;&emsp;古人云:善养生者,上养神智、中养形态、下养筋骨。</p>
				<p>&emsp;&emsp;养生不是简单的体育锻炼、也不是吃一顿营养餐、打一套太极拳。养生是以调阴阳、和气血、保精神为原则,运用调神、导引吐纳、四时调摄、食养、药养、节欲、服气辟谷等多种方法,以期达到保养、调养、颐养生命,实现人类健康、长寿的目的。</p>
				<p>&emsp;&emsp;养生,是养护保养生命,已达长寿。养生是指有目的的通过各种手段护养人体生命的行为,即根据人体生命过程的活动规律所进行的物质与精神的身心护养活动。既包括生理层面的养生,注重身体机能的维护和康复;也包括心理层面的养生,腔调内在精神的平衡和祥和。按照层次划分,生理层面的养生也包括养颜、养体、养老;心理层面的养生包括养心、养性、养神。</p>
			</div>
			<hr/>
			<div class="footer">版权所有&copy;优名养生馆</div>
		</div>
	</body>
</html>

 

标签:8.1,none,菜单,color,第八章,li,导航,CSS
From: https://blog.csdn.net/2302_80416946/article/details/143382895

相关文章

  • CSS快速上手:从零到项目实战
    CSS快速上手:从零到项目实战学习大纲一、初级部分CSS简介什么是CSS,它的作用是什么。CSS与HTML的关系。CSS基础语法选择器的种类(标签选择器、类选择器、ID选择器等)。属性和值的设置。文本样式字体大小、颜色、粗细。文本对齐方式。盒模型理解内容、内边距、边......
  • 前端技术对css的学习
    css简介目录css简介CSS的基本特性CSS的使用方式CSS选择器总结CSS(CascadingStyleSheets,层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS能够对网页中元素的位置进行排版,包括布局、颜色、字体等。通过CSS......
  • CSS(8)高级技巧:精灵图,css三角,用户界面,vertical-align属性应用
    一.精灵图通过css中的background-position属性,将多张图合成为一张图二.css三角在网页中,我们可以添加css属性获得三角图标solid:实心,边框的实心transparent:透明,图中代码表示只有左边粉色,其余地方为透明三:用户界面1.鼠标样式2.取消表单轮廓与防止拖拽文本三.vert......
  • 速通前端篇 —— CSS
    找往期文章包括但不限于本期文章中不懂的知识点:个人主页:我要学编程程(ಥ_ಥ)-CSDN博客所属专栏:速通前端目录CSS的介绍基本语法规范CSS选择器标签选择器class选择器 id选择器 复合选择器 通配符选择器CSS常见样式 颜色color字体大小font-size 边框bord......
  • css 表格圆角+边框不重叠
    .resource-table{border-collapse:separate;/*设置边框分离*/border-spacing:0;/*边框间距设置为0*/width:100%;/*表格宽度*/theadtr{background:#f0f3f5;th{color:#5a6066;border-top:1pxsolid#b......
  • 第八章 结构体
    C++开发语言基础学习8结构体8.1结构体的定义与使用定义结构体类型(创建模版):struct结构体名{结构体成员列表}structStudent{stringname;intage;intscore;}创建结构体变量(根据模板创建实体)三种方式:struct结构体名结构体变量名+各属性分......
  • 第八章习题
    习题8.4importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_latex=True)fromscipy.integrateimportodeintimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC......
  • 第八章 分布式系统的麻烦
    任何可能出错的东西都会出错故障与部分失效单机与分布式系统差异:单机软件运行较可预测,硬件正常时操作结果具确定性,遇硬件问题多导致整个系统故障。而分布式系统会面临部分失效情况,具有不确定性,其部分组件可能以不可预知方式损坏,这使分布式系统工作难度增加不同计算系统的故......
  • 第八章
    8.4importnumpyasnpfromscipy.integrateimportodeintimportmatplotlib.pyplotaspltdefsystem(z,t):x,y=zdxdt=-x3-ydydt=x-y3return[dxdt,dydt]z0=[1,0.5]t=np.linspace(0,30,1000)sol=odeint(system,z0,t)x_sol=sol[:,0]y_sol=sol[:,1]plt.sub......
  • 穿越银河的CSS魔法:重现《星球大战》经典开场
    1.引言《星球大战》(StarWars)是一部经典的科幻电影系列,其独特的开场动画和视觉效果深受观众喜爱。本文将介绍如何使用HTML和CSS来创建一个具有《星球大战》风格的动画效果,包括“Star”和“Wars”标志的淡入效果,以及标题“TheForceAwakens”中每个字母的逐个淡入效果。具......