
实现这样的菜单,功能点:
1、静态布局:
- hover出现菜单子项:纯css
- 点击出现菜单子项:js控制
2、根据json对象渲染出菜单
难点分析:
Q1:html怎么布局?
=> 每一层级的选项用ul包裹,li是当前层的各个具体项
Q2:css控制 第一行是横着的,其余的是竖着的:
1、二级菜单相对于一级竖着排
2、三级及以后的都是相对父级横着扩展
原生的不加修饰的效果:
# step1 menu横着摆放,子项默认+ div.menuwrapper ul {+ position: relative;+ float: left;+ }/* 一级菜单 */+ div.menuwrapper ul li {+ position: relative;+ float: left;+ }/* 二级菜单 */+ div.menuwrapper ul ul {+ display: none;+}

# 二级菜单相对于一级菜单 竖着,上下对齐/* 二级菜单 */div.menuwrapper ul ul {display: none;+ position: absolute;+ top:100%;+ left:0;}# hover一级菜单 二级菜单显示+div.menuwrapper ul li:hover > ul {+ display: block;+}

# 三级菜单及以后 相对于上级菜单 横向对齐/* 三级及以后 */+div.menuwrapper ul ul ul{+ position: absolute;+ left:100%;+ top:0;+}

