第8章利用CSS制作导航菜单
8.1 水平顶部导航栏
8.1.1 简单水平导航栏的设计与实现
8.1.1.1导航栏的创建
1.创建标题栏
2使用<nav>标签创建导航菜单栏区域
3.使用无序列表<ul>和列表选项<li>创建菜单选项
4.将其内容设置为超链接的形式
代码展示
<body>
<center>
<h3>简单水平菜单导航栏</h3>
</center>
<hr />
<!-- <nav>用于标记导航栏 -->
<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>
图片展示
8.1.1.2 列表样式的设计
1.给标签添加浮动
2.对无序列表设置样式
代码展示
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
li{
float: left;
}
ul{
list-style-type: none;
}
</style>
</head>
<body>
<center>
<h3>简单水平菜单导航栏</h3>
</center>
<hr />
<!-- <nav>用于标记导航栏 -->
<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>
图片展示
8.1.1.3 超链接样式的设计
1.设置为块级元素(重要)
2.设置各种样式
代码展示:
/* 对链接样式的设定 */
a{
text-decoration: none;
display: block;
width: 100px;
padding: 10px;
text-align: center;
}
图片展示
8.1.1.4 鼠标事件
1.使用伪类标签
2.对鼠标点击的效果进行设置
代码展示
/* 鼠标事件 */
a:link,a:visited{
background-color: #ff0000;
color: #ffffff;
}
a:hover,a:active{
background-color: #ffffff;
color: #ff0000;
}
图片展示
8.1.2 下拉子菜单导航栏的设计与实现
8.1.2.1导航栏的创建
1.创建标题栏
2使用<nav>标签创建导航菜单栏区域
3.使用无序列表<ul>和列表选项<li>创建菜单选项
4.将其内容设置为超链接的形式
代码展示
<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>
图片展示
8.1.2.2 列表样式的设计
1.给标签添加浮动
2.对溢出的效果设置none(没有效果)
3.对无序列表设置样式
代码展示
/* 8.1.2.2 列表样式的设计 */
ul,ol{
list-style-type: none;
margin: 0;
padding: 0;
}
ul li{
float: left;
}
ul li ol li{
float: none;
}
图片展示
8.1.2.3 二级菜单的隐藏和显示设计
1.对子列表设置为隐藏元素
2.对列表设置伪类选择器对其子列表的效果
代码展示
/* 8.1.2.3 二级菜单的隐藏和显示设计 */
ul li ol{
display: none;
}
ul li:hover ol{
display: block;
}
图片展示
8.1.2.4 DIV样式的设计
1.设置无序列表中各个a标签的样式
代码展示
ul li a{
background-color: #ff0000;
color: #eeeeee;
}
ul li ol li a{
background-color: #eeeeee;
color: #ff0000;
}
图片展示
8.1.2.5 超链接样式的设计
1.设置超链接的样式
代码展示
a{
text-decoration: none;
display: block;
width: 100px;
padding: 10px;
text-align: center;
}
图片展示
8.1.2.6 鼠标事件
1.设置鼠标点击的事件设置各种的样式
代码展示
/* 8.1.2.6 鼠标事件 */
ul li a:hover,ul li a:active{
border-bottom: #aaccff solid 5px;
}
ul li ol li a:hover,ul li ol li a:active{
border-bottom: none;
background-color: #ff0000;
color: #eeeeee;
}
图片展示
8.2 纵向侧边导航栏
8.2.1 简单纵向导航栏的设计与实现
8.2.1.1导航栏的创建
1.创建标题栏
2.使用无序列表<ul>和列表选项<li>创建菜单选项
3.将其内容设置为超链接的形式
代码展示
<body>
<div id="nav">
<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>
</body>
图片展示
8.2.1.2 DIV样式的设计
1.对div样式进行设计
2.对标题文字设置样式
代码展示
<style>
div{
background-color: #33cc00;
width: 150px;
padding: 10px;
}
h3{
color: #eeeeee;
text-align: center;
}
</style>
图片展示
8.2.1.3 列表样式的设计
1.对无序列表设置样式
2.设置a标签样式
代码展示
ul{
list-style-type: none;
margin: 0;
padding: 0;
}
a{
text-align: center;
display: block;
text-decoration: none;
width: 150px;
line-height: 30px;
}
图片展示
8.2.1.4 超链接样式的设计
1.设置超链接的各种访问样式
代码展示
a:link,a:visited{
background-color: #eeeeee;
color: #33cc00;
}
a:hover,a:active{
background-image: url(img/bg.JPG);
}
图片展示
8.2.2 出式子菜单导航栏的设计与实现
8.2.2.1 导航栏的创建
1.在<nav>的首尾标签之间,使用<div>标签创建菜单范围,结合无序列表<ul>和有序列表<0l>标签,配合列表选项<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>
图片展示
8.2.2.2 DIV样式的设计
1.设定div样式
2.设置标题样式
代码展示
div{
background-color: #33cc00;
width: 150px;
margin: 0;
padding: 10px;
}
h3{
color: #eeeeee;
text-align: center;
}
图片展示
8.2.2.3 二级菜单的隐藏和显示设计
1.设定父元素为相对定位
2.设定子元素为父元素的绝对定位,并设置元素为隐藏,再设置各种样式
3.设置父类元素伪类选择器时展示出来
代码展示
ul li{
/* 相对定位 */
position: relative;
}
ul li ol{
display: none;
/* 绝对定位 */
position: absolute;
left: 150px;
top: -1px;
}
ul li:hover ol{
display: block;
}
图片展示
8.2.2.4 列表样式的设计
1.设置列表样式
代码展示
ul,ol{
list-style-type: none;
margin: 0;
padding: 0;
}
代码展示
8.2.2.5 超链接样式的设计
1.设置超链接样式
代码展示
ul li a:hover{
background-image: url(img/bg2.JPG);
}
ul li ol li a:hover{
background-color: #33cc00;
color: #eeeeee;
background-image: none;
}
图片展示