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

embedded/2024/11/16 22:32:10/

8.1  水平顶部导航栏

水平菜单导航栏式网站设计中应用范围最广的导航设计,一般放置在页面的顶部。水平导航实用性强,几乎所有的类型的网站都可以使用,设计难度较低

如果导航过于普通,无法容纳复杂的信息结构,就需要在内容模块较多的情况下,结合下拉子导航使用

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

1.导航栏的创建

<nav>标签是HTML5新增的文档结构标签,用于标记导航栏,以便后续与网站的其他内容整合,所以常用 <nav>标签在页面上创建导航栏菜单区域 

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><center><h3>简单水平菜单导航栏</h3></center><hr><nav><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></nav></body>
</html>

5d4f8c62540a4d959c2260df066f342b.png

2.列表样式的设计

此时会带有<ul>元素的默认样式,即每个列表选项前面有实心点标记,可以利用CSS在<head>用,射列考样式进行变

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{list-style-type: none;}li{float: left;}</style></head><body><center><h3>简单水平菜单导航栏</h3></center><hr><nav><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></nav></body>
</html>

7fe83a27550b4ddf893b0b17a7f353cf.png

3.超链接样式的设计

利用CSS为超链接重新设置样式,例如,对超链接的a:link和a:visited进行设置,表示超链接未被访问和已访问状态。然后将其display属性设置为block,使得超链接成为块级元素,这样才可以为超链接设置80像素的宽度。

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

a6210554d3c24150b8f67f795bc749bc.png

4.鼠标事件 

利用CSS为a:hover和a:active进行样式设置,表示鼠标悬停和活动链接状态时的样式变化

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{list-style-type: none;}li{float: left;}a{display: block;width: 80px;text-align: center;text-decoration: none;}a:link,a:visited{background-color: aqua;color: #ffffff;}a:hover,a:active{background-color: #fff000;color:#ffffff;}</style></head><body><center><h3>简单水平菜单导航栏</h3></center><hr><nav><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></nav></body>
</html>

fe1ff1a0c81d435a9f4f15dcd00e95c5.png

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

下拉子菜单导航是网站设计中常见的子导航设计,一般适用于多级别、内容庞杂的网站。这种导航模式可以让整个网站设计更加整洁有序,现下大热的汉堡包导航也是采用这种隐藏式的导航设计。

1.导航栏的创建

仍然是在<nav>的首尾标签之间,使用<div>标签创建菜单范围,结合无序列表<ul>和有序列表<ol>标签,配合列表选项<li>创建菜单选项。其中选项内容使用超链接的形式,链接地址当前设置为空链接。

<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css"></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>

a0271040a7b64a389516b95abb2d6110.png

2.列表样式的设计

此时会带有ul>元素的实心点标记,及<ol>元素的阿拉伯序号,可以利用CSS在<head> 标签中进行声明,对列表样式进行改变。 

同样,使用list-style-type属性去掉默认标记,设置margin和 padding属性为0,为<li> 列表选项定义浮动效果,设置text-decoration属性none。这里使用通配符“*”整体设置。

<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css">ul,ol{list-style-type: none;margin:0;padding: 0;}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>

2a6b1e59ddca4742b294994271824e9d.png

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

为了使有序列表的二级菜单隐藏起来,需要设置display属性为none

为了鼠标悬停一级菜单时可以显示二级菜单,需要设置有序列表的display属性为block. 

为了二级菜单能在从属的一级菜单正下方显示,需要设置二级菜单的绝对定位及一级菜单的相对定位

<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css">*{margin: 0;padding: 0;list-style-type: none;text-decoration: none;}ul li{float: left;}ul li ol li{float: none;}ul li{float: left;position: relative;}ul li ol{background-color: lightcyan;position: absolute;top: 40px;left: 0;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>

d42cad8369794177bd80f5320404ff8a.png

4.DIV样式的设计
<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css">*{margin: 0;padding: 0;list-style-type: none;text-decoration: none;}ul li{float: left;}ul li ol li{float: none;}ul li{float: left;position: relative;}ul li ol{background-color: lightcyan;position: absolute;top: 40px;left: 0;display: none;}ul li:hover ol{display: block;}#nav{width: 600px;height: 40px;background-color: lightcyan;border: 5px solid blue;margin: 0 auto;}</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>

44648fe9f6be4dea87a7dce2548c7053.png

 5.超链接样式的设计

利用CSS为列表超链接重新设置样式,例如,对超链接的a:link和a:visited进行设置,表示超链接未被访问和已访问状态。然后将其display属性设置为block,使得超链接成为块级元素,这样才可以为超链接设置80像素的宽度

<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css">*{margin: 0;padding: 0;list-style-type: none;text-decoration: none;}ul li{float: left;}ul li ol li{float: none;}ul li{float: left;position: relative;}ul li ol{background-color: lightcyan;position: absolute;top: 40px;left: 0;display: none;}ul li:hover ol{display: block;}#nav{width: 600px;height: 40px;background-color: lightcyan;border: 5px solid blue;margin: 0 auto;}ul li a:link,a:visited{display: block;width: 80px;font-weight: 700;color: black;padding: 10px;text-align: center;}</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>

484416b3a5ef43908c47845d72f1e517.png

6.鼠标事件

利用css为无序列表选项li:hover和有序列表的a:hover进行样式设置,表示鼠标悬停状态时的样式变化

<!--示例程序8.2-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>下拉子导航栏的制作</title><style type="text/css">*{margin: 0;padding: 0;list-style-type: none;text-decoration: none;}ul li{float: left;}ul li ol li{float: none;}ul li{float: left;position: relative;}ul li ol{background-color: lightcyan;position: absolute;top: 40px;left: 0;display: none;}ul li:hover ol{display: block;}#nav{width: 600px;height: 40px;background-color: lightcyan;border: 5px solid blue;margin: 0 auto;}ul li a:link,a:visited{display: block;width: 80px;font-weight: 700;color: black;padding: 10px;text-align: center;}ul li:hover{background-color: pink;}ul li ol li a:hover{background-color: red;color: white;}</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>

1ec8f8fa71954a00a22c0a12828f528c.png

8.2 纵向侧边导航栏

8.2.1 简单总想导航栏的设计与实现

1.导航栏的创建

普通的纵向导航同样可以使用超链接和列表元素来实现,只需要将文字链接设置成块级元素。区别于水平导航栏,纵向导航栏不需要设置列表选项<li>的浮动属性。 

在<nav>的首尾标签之间使用<div>标签创建菜单范围,结合无序列表ul>标签和列表选项<li>标签创建菜单选项。这里的超链接地址暂时设置为空链接,用户可根据实际情况改成具体的URL地址。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><nav><div id="nav"><h3 class="tit">所有商品分类</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>

ef0971c2be3c4bd5b68713aa280d79b3.png

2.DIV样式的设计

对导航栏所的div样式进行设置,包括宽度、边框和背景 ,同时对大标题文字的css进行设置,包括高度、行高、颜色和对齐方式

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">#nav{width: 150px;border: 1px solid greenyellow;background-color: aqua;}.tit{height: 16px;line-height: 16px;color: #ffffff;text-align: center;}</style></head><body><nav><div id="nav"><h3 class="tit">所有商品分类</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>

0d0535e20808485eab6fa9f3c9736b8e.png

3.列表样式的设计

此时列表选项还带有<ul>元素的默认实心圆点样式,需要使用list-style-type属性去掉默认标记,设置margin和 padding 的属性值。并同时给列表选项添加背景颜色,使大小标题容易区分

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">#nav{width: 150px;border: 1px solid greenyellow;background-color: aqua;}.tit{height: 16px;line-height: 16px;color: #ffffff;text-align: center;}#nav ul{margin: 0px;padding: 0px;list-style-type: none;background-color: white;}#nav ul li{height: 30px;line-height: 30px;text-align: center;border-bottom: 1px solid green;}</style></head><body><nav><div id="nav"><h3 class="tit">所有商品分类</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>

f72d8e445cb84ba3a6672d1f5d45dc33.png

 4.超链接样式的设计

利用CSS为超链接重新设置样式,对超链接的a:link和 a:visited进行设置,表示超链接未被访问和已访问状态。同时,利用CSS为a: hover和 a:active进行样式设置,表示鼠标悬停和活动链接状态时的样式变化。并且,将display属性设置为block,使得超链接成为块级元素,以及字体CSS样式的设置。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">#nav{width: 150px;border: 1px solid greenyellow;background-color: aqua;}.tit{height: 16px;line-height: 16px;color: #ffffff;text-align: center;}#nav ul{margin: 0px;padding: 0px;list-style-type: none;background-color: white;}#nav ul li{height: 30px;line-height: 30px;text-align: center;border-bottom: 1px solid green;}a:link,a:visited{display: block;font-size: 18px;color:brown;text-decoration: none;	}a:hover,a:active{font-size: 15px;color: red;border: 3px solid red;font-weight: bold;background-image: url(img/bg.JPG);}</style></head><body><nav><div id="nav"><h3 class="tit">所有商品分类</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>

 c051878c4bbf4b6bbf33bfcb76ee3c93.png

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

1.导航栏的创建

在<nav>的首尾标签之间,使用<div>标签创建菜单范围,结合无序列表<ul>和有序列表<ol>标签,配合列表选项<li>创建菜单选项。其中选项内容使用超链接的形式,链接地址当前设置为空链接。

<!--示例程序8.4-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>出式子导航栏的制作</title><style type="text/css"></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>

142ff053be7946f9ab36e999092c23cd.png

2.DIV样式的设计

<!--示例程序8.4-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>出式子导航栏的制作</title><style type="text/css">#nav{width: 150px;background-color: #00cc33;padding: 10px;}h3{text-align: center;color: #eeeeee;}</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>

393bb6cce9a1477caf7c7b2a2663ddb8.png

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

为了使有序列表的二级菜单隐藏起来,需要设置display属性为none. 

为了鼠标悬停一级菜单时可以显示二级菜单,需要设置有序列表的display属性为

block, 

为了二级菜单能在从属的一级菜单正右方显示,需要设置二级菜单的绝对定位及一级菜单的相对定位

<!--示例程序8.4-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>出式子导航栏的制作</title><style type="text/css">#nav{width: 150px;background-color: #00cc33;padding: 10px;}h3{text-align: center;color: #eeeeee;}#nav ul li{height: 30px;line-height: 30px;text-align: center;border-bottom: 1px solid gold;position: relative;}#nav ul li ol{display: none;width: 120px;border: 1px solid greenyellow;position: absolute;top: -1px;left: 150px;}#nav 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>

e931637396ec451380315d66e955ca84.png

4.列表样式的设计

此时列表选项还带有<ul元素的实心圆点样式,及<ol>元素的阿拉伯序号,需要使用list-style-type属性去掉默认标记,设置margin和 padding的属性值。并同时给列表选项添加背景颜色,使大小标题容易区分

<!--示例程序8.4-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>出式子导航栏的制作</title><style type="text/css">#nav{width: 150px;background-color: #00cc33;padding: 10px;}h3{text-align: center;color: #ffffff;}#nav ul li{height: 30px;line-height: 30px;text-align: center;border-bottom: 1px solid gold;position: relative;}#nav ul li ol{display: none;width: 120px;border: 1px solid greenyellow;position: absolute;top: -1px;left: 150px;}#nav ul li:hover ol{display: block;}#nav ul,#nav ol{margin: 0px;padding: 0px;list-style-type: none;background-color: white;}</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>

bc065c6f75be4fda83429efd46b30d8c.png

5. 超链接样式的设计

利用CSS为超链接重新设置样式,对超链接的a:link和a:visited进行设置,表示超链接未被访问和已访问状态。同时,利用CSS为a: hover和a:active进行样式设置,表示鼠标悬停和活动链接状态时的样式变化。并且,将display属性设置为block,使得超链接成为块级元素,以及字体CSS样式的设置

<!--示例程序8.4-->
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>出式子导航栏的制作</title><style type="text/css">#nav{width: 150px;background-color: #00cc33;padding: 10px;}h3{text-align: center;color: #ffffff;}#nav ul li{height: 30px;line-height: 30px;text-align: center;border-bottom: 1px solid gold;position: relative;}#nav ul li ol{display: none;width: 120px;border: 1px solid greenyellow;position: absolute;top: -1px;left: 150px;}#nav ul li:hover ol{display: block;}#nav ul,#nav ol{margin: 0px;padding: 0px;list-style-type: none;background-color: white;}#nav ul li a:link,a:visited{display: block;font-size: 18px;color: brown;text-decoration: none;}#nav ul li:hover{background-image: url(img/bg2.JPG);font-weight: bold;}#nav ul ol li a:link{font-size: 15px;}#nav ul li ol li a:hover{background-color: red;color: white;}</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>

b86b9ad9952944c2b0570c410289cdfe.png

8.3 底部固定导航栏

1.导航栏的创建

在<nav>的首尾标签之间,使用<div>标签创建菜单范围,结合无序列表<ul>配合列表选项<li>创建菜单选项。其中选项内容使用超链接的形式,链接地址当前设置为空链接

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></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>

f8018b3cd9544fa6b2502fba373c178c.png

2.列表样式的设计

利用CSS为超链接重新设置样式,对超链接的a:link和a:visited进行设置,表示超链接未被访问和已访问状态。同时,利用CSS为a: hover和a:active进行样式设置,表示鼠标悬停和活动链接状态时的样式变化。并且,将display属性设置为block,使得超链接成为块级元素,以及字体CSS样式的设置

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{margin: 0;padding: 0;list-style-type: none;}li{width: 25%;float: left;line-height: 50px;}</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>

9d27bb880ebf4fde849c2e71bd341538.png

3.菜单固定底部的设计

为了美化文字内容的外观,可以设置div的高度、宽度、背景、边框和文本对齐方式等。为了使导航菜单始终处于页面的最上层,需要设置2-index属性的优先值。为了使导航菜单固定于页面底部,需要设置位置属性position和各个方向的位置值

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{margin: 0;padding: 0;list-style-type: none;}li{width: 25%;float: left;line-height: 50px;}.fix-footer{height: 50px;width: 100%;background-color: lightgreen;border-top: 2px solid blue;text-align: center;z-index: 9999;position: fixed;border: 0;left: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>

f79e3ddbb58146b58b21a4f80640a249.png

4.超链接样式的设计

利用CSS为超链接重新设置样式,对超链接的a:link和 a:visited进行设置,表示超链接未被访问和已访问状态。然后将其display 属性设置为block,使得超链接成为块级元素

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{margin: 0;padding: 0;list-style-type: none;}li{width: 25%;float: left;line-height: 50px;}.fix-footer{height: 50px;width: 100%;background-color: lightgreen;border-top: 2px solid blue;text-align: center;z-index: 9999;position: fixed;border: 0;left:0;}a:link,a:visited{display: block;font-size: 20px;color: black;text-decoration: none;font-weight: bold;}</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>
6bf133e5e126493484a3101b7347d76e.png 5.鼠标事件

利用CSS为a: hover和a:active进行样式设置,表示鼠标悬停和活动链接状态时的样式变化。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">ul{margin: 0;padding: 0;list-style-type: none;}li{width: 25%;float: left;line-height: 50px;}.fix-footer{height: 50px;width: 100%;background-color: lightgreen;border-top: 2px solid blue;text-align: center;z-index: 9999;position: fixed;border: 0;left:0;}a:link,a:visited{display: block;font-size: 20px;color: black;text-decoration: none;font-weight: bold;}a:hover,a:active{background-color: darkgray;border-left: 2px solid white;border-right: 2px solid white;font-size: 16px;color: red;font-weight: bold;}</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>

ed0720750c2d4e049994c5a8a855b0ec.png

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

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>优名养生馆</title><style type="text/css">body{background-image: url(img/img-bg.png);}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;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:valid{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: wheat;}.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="rifht" 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>

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>优名养生馆</title><style type="text/css">body{background-image:url(img/bg (2).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 (2).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>

 


http://www.ppmy.cn/embedded/138116.html

相关文章

【JavaScript】LeetCode:96-100

文章目录 96 单词拆分97 最长递增子序列98 乘积最大子数组99 分割等和子集100 最长有效括号 96 单词拆分 动态规划完全背包&#xff1a;背包-字符串s&#xff0c;物品-wordDict中的单词&#xff0c;可使用多次。问题转换&#xff1a;s能否被wordDict中的单词组成。dp[i]&#x…

沈阳乐晟睿浩科技有限公司抖音小店保障

在当今这个数字化时代&#xff0c;电子商务行业以其便捷性、高效性和广泛的覆盖面&#xff0c;成为了推动经济发展的新引擎。沈阳乐晟睿浩科技有限公司&#xff0c;作为这股变革洪流中的佼佼者&#xff0c;凭借其深厚的技术实力、敏锐的市场洞察力和前瞻性的战略布局&#xff0…

微服务架构面试内容整理-SpringCloud Netflix‌与Spring Cloud Alibaba比较

Spring Cloud Netflix 和 Spring Cloud Alibaba 都是用于构建微服务架构的解决方案,但它们在设计理念、组件和使用场景上存在一些差异。以下是它们的比较: 1. 服务注册与发现 ● Spring Cloud Netflix:使用 Eureka 作为服务注册和发现的组件。Eureka 是基于 REST 的,适合服…

php preg_match 不到内容,修改pcre.backtrack_limit解决问题

使用 preg_match 匹配不到内容&#xff0c;感觉是有字符串长度限制&#xff0c;经测试果然。 设置 pcre.backtrack_limit 大小解决问题 // php 文件中通过ini_set 修改 ini_set(pcre.backtrack_limit, 999999999); // 或 ini_set(pcre.backtrack_limit, -1);或是php.ini中修改…

机器学习—为什么我们需要激活函数

如果我们使用神经网络中每个神经元的线性激活函数&#xff0c;回想一下这个需求预测示例&#xff0c;如果对所有节点使用线性激活函数&#xff0c;在这个神经网络中&#xff0c;事实证明&#xff0c;这个大神经网络将变得与线性回归没有什么不同&#xff0c;所以这将挫败使用神…

游戏引擎学习第九天

视频参考:https://www.bilibili.com/video/BV1ouUPYAErK/ 修改之前的方波数据&#xff0c;改播放正弦波 下面主要讲关于浮点数 1. char&#xff08;字符类型&#xff09; 大小&#xff1a;1 字节&#xff08;8 位&#xff09;表示方式&#xff1a;char 存储的是一个字符的 A…

【Docker】Mac安装Docker Desktop导致磁盘剩余空间较少问题如何解决?

目录 一、背景描述 二、解决办法 三、清理效果 四、理论参考 解决方法 1. 清理未使用的 Docker 镜像、容器和卷 2. 查看 Docker 使用的磁盘空间 3. 调整 Docker 的存储位置 4. 增加磁盘空间 5. 调整 Docker Desktop 配置 6. 使用 Docker 清理工具&#xff08;例如 D…

PC上浏览器是如何查询DNS 缓存的呢?

通过 ipconfig /displaydns 的显示结果可以获取本机的 DNS 缓存信息&#xff0c;那么浏览器是如何获取本机的 DNS 缓存。 答案是&#xff1a;浏览器获取本机的 DNS 缓存主要是通过操作系统提供的接口来获取&#xff0c;。 具体的获取途径如下&#xff1a; 先查询自身缓存&am…