css做导航栏伸缩菜单
2016-07-03 03:18
295 查看
做伸缩菜单是个既简单又很细致的工作,网上没有非常好的范本,自己写经常会丢了一个或几个设置导致出问题,今天自己做一个模版,方便自己以后使用。
此菜单为一级菜单横向布置,其他机菜单纵向布置,理论可以延伸无限级只要屏幕够大。
css代码
html代码
此菜单为一级菜单横向布置,其他机菜单纵向布置,理论可以延伸无限级只要屏幕够大。
css代码
*{margin: 0;padding: 0;}/*消除间隙,否则二级菜单不能与一级菜单对齐*/ .main{margin: 0 auto;width: 1024px;}/*水平居中*/ .nav{height: 30px;/*固定导航栏高度*/ position:relative;/*缺少这行代码导航栏可能会被其他代码遮盖*/ z-index: 100;/*z轴优先级,缺少这行代码导航栏可能会被其他代码遮盖*/} .nav *{ height:30px;/*缺少这行代码会导致二级菜单弹出时影响其他内容(正文内容)位置*/ } .nav ul{list-style: none;/*取消ul,li式样,不需要再设置li式样*/} .nav>ul>li{float: left;/*仅1级菜单横向化处理*/ width:120px;/*好像可以不设,但为了防止奇葩浏览器bug暂留*/} .nav>ul>li>ul>li ul li{left: 120px;position: relative;top: -30px;/*三级菜单和三级菜单出现在上级菜单项的右侧*/} .nav li ul{display: none;/*默认隐藏二级菜单*/} .nav li:hover>ul{display: block;/*鼠标浮动到一级菜单时展开二级菜单*/} .nav a{display: block;width: 120px;height: 30px; /*保证a标签填满li否则会出现ie浏览器hover捕捉不到的bug。ie浏览器低版本hover对a标签有效对li无效*/ line-height: 30px; /*水平居中文字*/ background: #c0c0c0;/*菜单项背景颜色*/} .nav a:hover{background: #ccc;/*鼠标经过时的菜单项背景颜色*/}
html代码
<div class="nav main" > <ul> <li><a href="#">index</a> <ul> <li><a href="#">-index</a></li> <li><a href="#">-index</a></li> <li><a href="#">-indexsssss</a> <ul> <li><a href="#">-index</a></li> <li><a href="#">1indexsssss</a> <ul> <li><a href="#">1indexsssss</a></li> <li><a href="#">2index</a></li> <li><a href="#">3index</a></li> <li><a href="#">4index</a></li> <li><a href="#">5index</a></li> <li><a href="#">6index1</a></li> <li><a href="#">7index</a></li> <li><a href="#">8index</a></li> </ul> </li> <li><a href="#">2index</a></li> <li><a href="#">3index</a></li> <li><a href="#">4index</a></li> <li><a href="#">5index</a></li> <li><a href="#">6index1</a></li> <li><a href="#">7index</a></li> <li><a href="#">8index</a></li> </ul> </li> <li><a href="#">-index</a></li> <li><a href="#">-index</a></li> </ul> </li> <li><a href="#">index</a> <ul> <li><a href="#">index</a></li> <li><a href="#">index</a></li> <li><a href="#">index</a></li> </ul> </li> <li><a href="#">index</a> <ul> <li><a href="#">index</a></li> <li><a href="#">index</a></li> <li><a href="#">index</a></li> </ul> </li> <li><a href="#">index</a> <ul> <li><a href="#">index</a></li> <li><a href="#">index</a></li> <li><a href="#">index</a></li> </ul> </li> </ul> </div>
相关文章推荐
- CSS修改png图片的颜色
- 利用css3+js实现简单带立体过渡效果的图片切换(chrome浏览器)
- css水平垂直居中
- 什么叫响应式布局
- CSS 文字超长省略显示并隐藏超长部分
- CSS3 利用 @media 查询 实现响应式布局 及 CSS3 box-sizing属性
- CSS老本本,基础之基础
- CSS选择器
- CSS中<li>标签横向排列出现间距问题
- CSS Secret——Visual Effect
- css实现图片上下居中显示
- CSS3 Transform、Transition和Animation属性总结
- CSS 之 Position定位
- CSS学习day01---XHTML和HTML的重要区别
- css 文本溢出时显示省略标记(...)
- CSS之行内元素的水平居中
- Xcode 主题样式的配置
- css之line-height
- CSS3多列布局
- css基础学习(3)(盒子模型,动画)