【温故而知新-CSS】使用CSS设计网站导航栏

1.实现背景变换的导航菜单效果预览:

源代码:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>实现背景变换的导航菜单</title>

<!--
利用#nav 定义div的样式,包括宽度、右边框、填充的符合属性、字体、字号、背景颜色和字体颜色
利用#nav ul 定义 div 下的 ul 对象的样式,包括列表属性 list-style、边距 margin、填充 padding、边框 border 属性
利用#nav li 定义 li 对象的样式
利用#nav li a 定义 li 对象下的链接文字样式
利用#nav li a:hover 定义 li 对象下的链接文字激活样式
 --->
<style type="text/css">
#nav {
    width:150px;
    border-right:1px solid #000;
    padding:0 0 1em 0;
    margin-bottom:1em;
    font-family:"宋体";
    font-size:13px;
    background-color:#ff9933;
    color:#000000;
}
#nav ul {
    list-style:none;
    margin:0;
    padding:0;
    border:none;
}
#nav li {
    margin:0;
    border-bottom:1px solid #ffff00;
}
#nav li a {
    display:block;
    padding:5px 5px 5px 0.5em;
    background-color:#ff9933;
    color:#fff;
    text-decoration:none;
    width:100%;
    border-right:10px solid #ffcc00;
    border-left:10px solid #ffcc00;
}
html>body #nav li a {
    width:auto;
}
#nav li a:hover {
    background-color:#ffcc00;
    color:#fff;
    border-right:10px solid #ff00ff;
    border-left:10px solid #ff00ff;
}
</style>
</head>

<body>
<div id="nav">
  <ul>
    <li><a href="#nav">首页</a></li>
    <li><a href="#nav">公司频道</a></li>
    <li><a href="#nav">最新动态</a></li>
    <li><a href="#nav">客房介绍</a></li>
    <li><a href="#nav">酒店服务</a></li>
    <li><a href="#nav">休闲娱乐</a></li>
    <li><a href="#nav">旅行社</a></li>
  </ul>
</div>
</body>
</html>
View Code

2.利用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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>利用CSS制作横向导航</title>
<!--
首先定义了ul 下li 对象,给#navh li 指定了 float:left 属性,所有的li对象都向左浮动,从而形成横向的排列形式
导航的关键在于a 链接对象的样式控制,在这里使用#navh li a{} 给li 下的每一个a 链接对象编写了样式
display:block 使得a 链接对象的显示方式由一段文本变为一个块状对象,这样就可以使用CSS的外边距、内边距、边框等属性给a 链接标签加上一系列样式
-->
<style type="text/css">
#navh li{ float:left;}

#navh ul {
    list-style:none;
    margin:0;
    padding:0;
    border:none;
}
#navh li a { color:#ffffff; text-decoration:none; padding-top:4px; display:block; width:65px; height:20px; text-align:center; background-color:#6600cc; margin-left:2px; }
#navh li a:hover{ background-color:#9999ff; color:#ffffff;}
</style>
</head>

<body>
<div id="navh">
  <ul>
    <li><a href="#navh">首页</a></li>
    <li><a href="#navh">公司频道</a></li>
    <li><a href="#navh">最新动态</a></li>
    <li><a href="#navh">客房介绍</a></li>
    <li><a href="#navh">酒店服务</a></li>
    <li><a href="#navh">休闲娱乐</a></li>
    <li><a href="#navh">旅行社</a></li>
  </ul>
</div>
</body>
</html>
View Code

来源:《HTML、CSS、Javascript网页制作从入门到精通》13.3章节

原文地址:https://www.cnblogs.com/yc-755909659/p/4054281.html