CSS水平导航条和纵向导航条
问题描述:
使用CSS制作水平导航条和纵向导航条
问题解决:
(1)水平导航条
1.1 效果预览:

1.2 具体实现:文件hnav.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>水平导航条</title>
<style type="text/css">
#menu {
font: 12px verdana, arial, sans-serif;
} #menu,#menu li {
list-style: none;
padding: 0;
margin: 0;
} #menu li {
float: left;
} #menu li a {
display: block;
width: 100px;
padding: 8px 50px;
background: #3A4953;
color: #fff;
text-decoration: none;
border-right: 1px solid #000;
text-align: center;
} #menu li a:hover {
background: #146C9C;
color: #fff;
text-decoration: none;
border-right: 1px solid #000;
} #menu li a.last {
border-right: 0; /* 去掉左侧边框 */
} .second {
width: 100px;
background: #C30431;
display: none;
} .second a {
display: block;
height: 20px;
line-height: 20px;
color: #fff;
border-top: 1px solid #000;
text-align: center;
/*border-bottom: dashed 1px #E67A92;*/
}
</style>
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#menu li").hover(function() {
$(this).children("div").show();
}, function() {
$(this).children("div").hide();
});
});
</script>
</head>
<body>
<ul id="menu">
<li><a href="http://www.baidu.com">Baidu.Com</a>
<div class="second">
<a>新闻</a> <a>影音</a> <a>娱乐</a>
</div></li>
<li><a href="http://www.Code52.Net">Code52.Net</a>
<div class="second">
<a>首页</a> <a>新闻</a> <a>建议</a>
</div></li>
<li><a href="http://www.yahoo.com">Yahoo.com</a></li>
</ul>
</body>
</html>
注意要点:
1、 ul li 需要使用float:left设置
2、 ul li a 需要设置display:block ,其下拉菜单这里使用的是<div>块
2、垂直导航条
2.1 效果预览:

2.2 具体实现:文件lnav.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<style type="text/css">
.nav {
float: left;
position: relative;
width: 253px;
} h2,ul,p {
margin: 0;
padding: 0;
text-align: center;
} h2 {
font-weight: 400;
font-size: 100%;
background: #9B203F;
border-bottom: solid 1px #500C1B;
} h2 a {
list-style-type: none;
height: 37px;
color: #fff;
line-height: 37px;
} ul {
font-size: 0;
background: #9B203F;
padding: 0 0 40px;
float: left;
} ul li {
list-style-type: none;
color: #fff;
font-size: 14px;
padding: 0 20px; /*上内边距和下内边距为0px;左内边距和右内边距为20px */
height: 34px;
line-height: 34px;
position: relative;
float: left;
} ul li a {
display: block;
width: 196px;
border-bottom: dashed 1px #E67A92;
} ul li.hover_bg {
background: #C30431;
} .dropdownMenu {
width: 253px;
background: #C30431;
position: absolute; /*这里的定位“相对于” 已经定位的祖先元素ul li 定位 */
right: -253px; /*该属性定义了定位元素右外边距边界与其包含块右边界之间的偏移*/
top: 0;
padding-bottom: 30px;
display: none;
} .dropdownMenu p {
padding: 0 20px;
} .dropdownMenu a {
display: block; /*此元素将显示为块级元素,元素前后带有换行符*/
height: 34px;
line-height: 34px;
color: #fff;
border-bottom: dashed 1px #E67A92;
} a {
cursor: pointer;
}
</style>
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".nav ul li").hover(function() {
$(this).addClass("hover_bg");
$(this).children("div").show();
}, function() {
$(this).removeClass("hover_bg");
$(this).children("div").hide();
});
});
</script>
</head> <body>
<div class="nav">
<h2>
<a>全部商品分类</a>
</h2>
<ul>
<li><a>图书、音像、数字商品</a>
<div class="dropdownMenu">
<p>
<a>电子书</a> <a>数字音乐</a> <a>音像</a> <a>文艺</a> <a>人文社科</a> <a>生活</a> <a>科技</a>
<a>教育</a>
</p>
</div></li>
<li><a>家用电器</a>
<div class="dropdownMenu">
<p>
<a>大家电</a> <a>生活家电</a> <a>厨房家电</a> <a>个人健康</a> <a>五金家电</a>
</p>
</div></li>
<li><a>电脑办公</a>
<div class="dropdownMenu">
<p>
<a>电脑整机</a> <a>电脑配件</a> <a>外设产品</a> <a>网络产品</a> <a>办公打印</a>
</p>
</div></li>
</ul>
</div>
<!--nav-->
</body>
</html>
注意要点:
1、ul li list-style-type:none 去除ul列表前圆圈。
2、ul li position:relative 设置相对定位
3、.dropMenu position:absolute 设置绝对定位,同时设置width:253px; right:-253px; top:0px;
CSS水平导航条和纵向导航条的更多相关文章
- 十天学会<div+css>横向导航菜单和纵向导航菜单
纵向导航菜单及二级弹出菜单 纵向导航菜单:一级菜单 <head><style type="text/css">body { font-family: Ver ...
- div+css+position实现简单的纵向导航栏
完成效果: 这应该是很简单的纵向导航栏了. OK,进入正题 首先,我们看上面的效果图可以分析得出,要实现这个效果需要用到的技术点 1.hover 2.position 3.布局 我认为在这个效果的实现 ...
- amazeui学习笔记--css(常用组件10)--导航条Topbar
amazeui学习笔记--css(常用组件10)--导航条Topbar 一.总结 1. 导航条:就是页面最顶端的导航条:在容器上添加 .am-topbar class,然后按照示例组织所需内容.< ...
- bootstrap基础学习【导航条、分页导航】(五)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 控制器隐藏了导航 下页pop 导航位置看到黑条
控制器隐藏了导航 下页pop 导航位置看到黑条 解决: -(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear ...
- web标准(复习)--4 纵向导航菜单及二级弹出菜单
今天我们开始学习纵向导航菜单及二级弹出菜单,包含以下内容和知识点: 纵向列表 标签的默认样式 css派生选择器 css选择器的分组 纵向二级列表 相对定位和绝对定位 一.纵向列表纵向列表或称为纵向导航 ...
- Web标准:四、纵向导航菜单及二级弹出菜单
Web标准:四.纵向导航菜单及二级弹出菜单 知识点: 1.纵向列表 2.标签的默认样式 3.css派生选择器 4.css选择器的分组 5.纵向二级列表 6.相对定位和绝对定位 1)纵向列表 可以看 ...
- amazeui学习笔记--css(常用组件9)--导航nav
amazeui学习笔记--css(常用组件9)--导航nav 一.总结 1.导航基本使用:<ul> 添加 .am-nav class 以后就是一个基本的垂直导航.默认样式中并没有限定导航的 ...
- 纯css使用线性渐变实现滚动进度条(来自于微信前端早读课)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- 利用js+canvas实现的时钟效果图
canvas+js时钟特效 运用js+canvas方面的知识完成一个时钟的效果图,再利用for循环实现指针的转动效果: <!--网页文档的声明--> <!doctype html&g ...
- java高级工程师必备知识
成为Java高级工程师需要掌握哪些核心点? 每 逢长假都会有很多程序员跳槽,十一.过年是跳槽黄金时刻,尤其是过年.过年的时候年终奖到手,没有了多少牵挂,年终同学同事聚会比较多,沟通的就多,各种 工作机 ...
- 认识php钩子-转白俊遥的博客
认识php钩子-转载白俊遥的博客 我们先来回顾下原本的开发流程:产品汪搞出了一堆需求:当用户注册成功后需要发送短信.发送邮件等等:然后聪明机智勇敢的程序猿们就一扑而上:把这些需求转换成代码扔在 用户注 ...
- php设计模式之单例、多例设计模式
单例(Singleton)模式和不常见的多例(Multiton)模式控制着应用程序中类的数量.如模式名称,单例只能实例化一次,只有一个对象,多例模式可以多次实例化. 基于Singleton的特性,我们 ...
- mysql忘记root密码拯救方法(flush privileges)
修改的用户都以root为列.一.拥有原来的myql的root的密码: 方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password " ...
- DevExpress GridControl 部分用法
1.GridControl赋值:this.GridControl1.DataSouce=dt; 2.GridContro总合计及分组合计: 常规总合计直接RunDesigner-Group Summa ...
- partition实现
partition的作用是把环形缓冲区中的map输出分区存储,以便分配给不同的reducer. 把内部的实现写下来,作为一个学习笔记 在map函数,调用context.write()时,会去调用分区函 ...
- 13.python中的字典
字典其实和之前的元祖和列表功能相似,都是用来储存一系列对象的.也就是一种可变容器,或者是我所比喻的革新派的菜单. 但也不是完全相同,我在之前曾经将字典称为特殊的'序列',是字典拥有序列的部分特性,但是 ...
- 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot ...
- Android:简单实现ViewPager+TabHost+TabWidget实现导航栏导航和滑动切换
viewPager是v4包里的一个组件,可以实现滑动显示多个界面. android也为viewPager提供了一个adapter,此adapter最少要重写4个方法: public int getCo ...