Grade 无限等级菜单
基本用法
使用ul+li构建菜单树结构,借助css中的hover
伪类实现简单无限等级菜单。默认是下拉菜单。
基本结构是ax-grade + ax-grade-wrapper + label + arrow。
<div style="padding:36px;text-align: center"> <span class="ax-grade">无限等级菜单 <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a><i class="ax-iconfont ax-icon-right" arrow></i></div> <ul> <li> <div><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>时政新闻</a><i class="ax-iconfont ax-icon-right" arrow></i></div> <ul> <li> <div><a href="###" label>增加</a></div> </li> <li> <div><a href="###" label>删除</a></div> </li> <li> <div><a href="###" label>修改</a></div> </li> </ul> </li> <li> <div><a href="###" label>娱乐新闻</a></div> </li> </ul> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div>
菜单位置
菜单一共支持四个位置,通过placement
属性设置菜单位置,可使用的值有:right、bottom-start、bottom-end和bottom(默认)。
<div class="ax-row"> <div class="ax-col ax-col-6" style="padding:36px;text-align: center"> <span class="ax-grade" placement="bottom-start">bottom-start <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a></div> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div> <div class="ax-col ax-col-6" style="padding:36px;text-align: center"> <span class="ax-grade">bottom <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a></div> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div> <div class="ax-col ax-col-6" style="padding:36px;text-align: center"> <span class="ax-grade" placement="bottom-end">bottom-end <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a></div> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div> <div class="ax-col ax-col-6" style="padding:36px;text-align: center"> <span class="ax-grade" placement="right">right <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a></div> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div> </div>
使用图标
将普通图标标签写上legend
属性插入label前方即可。
<div style="padding:36px;text-align: center"> <span class="ax-grade">无限等级菜单 <ul class="ax-grade-wrapper"> <li> <div><i class="ax-iconfont ax-icon-people" legend></i><a href="###" label>用户管理</a></div> </li> <li> <div><i class="ax-iconfont ax-icon-clock" legend></i><a href="###" label>信息管理</a></div> </li> <li> <div selected><i class="ax-iconfont ax-icon-check-o-gap" legend></i><a href="###" label>体育新闻</a></div> </li> <li> <div><i class="ax-iconfont ax-icon-global" legend></i><a href="###" label>权限配置</a></div> </li> <li> <div><i class="ax-iconfont ax-icon-options" legend></i><a href="###" label>参数配置</a></div> </li> </ul> </span> </div>
多行文字
如果菜单名称比较长也没关系,ax-grade兼容多行文字显示。
<div style="padding:36px;text-align: center"> <span class="ax-grade">无限等级菜单 <ul class="ax-grade-wrapper"> <li> <div><a href="###" label>雅万高铁沿线车站设计突出印尼元素</a></div> </li> <li> <div><i class="ax-iconfont ax-icon-clock" legend></i><a href="###" label>暑期全国演出超11万场 票房收入破百亿</a><i class="ax-iconfont ax-icon-right" arrow></i></div> <ul> <li> <div><a href="###" label>28岁退役军人和好友救出车祸被困3人</a></div> </li> <li> <div><a href="###" label>破案了,原来瑞幸和茅台的中间商是“塞尚”</a></div> </li> </ul> </li> <li> <div selected><i class="ax-iconfont ax-icon-check-o-gap" legend></i><a href="###" label>中国互联网联合辟谣平台2023年8月辟谣榜</a></div> </li> </ul> </span> </div>
居中排列
菜单默认居左排列,如果用户需要居中排列可对ax-grade-wrapper节点追加ax-align-center
属性。
<div style="padding:36px;text-align: center"> <span class="ax-grade">无限等级菜单 <ul class="ax-grade-wrapper ax-align-center"> <li> <div><a href="###" label>用户管理</a></div> </li> <li> <div><a href="###" label>信息管理</a><i class="ax-iconfont ax-icon-right" arrow></i></div> <ul> <li> <div><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>时政新闻</a><i class="ax-iconfont ax-icon-right" arrow></i></div> <ul> <li> <div><a href="###" label>增加</a></div> </li> <li> <div><a href="###" label>删除</a></div> </li> <li> <div><a href="###" label>修改</a></div> </li> </ul> </li> <li> <div><a href="###" label>娱乐新闻</a></div> </li> </ul> </li> <li> <div selected><a href="###" label>体育新闻</a></div> </li> <li> <div><a href="###" label>权限配置</a></div> </li> <li> <div><a href="###" label>参数配置</a></div> </li> </ul> </span> </div>
下拉小窗
如果不是ul+li结构的菜单,仅仅是下拉小窗,请用div代替ul,对div使用ax-grade-wrapper
类,宽度通过style自定义,见效果演示。
无限等级菜单
默认居中小窗!
无限等级菜单
居左小窗!
无限等级菜单
居右小窗!
<div class="ax-row"> <div class="ax-col ax-col-8" style="padding:36px;text-align: center"> <span class="ax-grade">无限等级菜单 <div class="ax-grade-wrapper" style="width:300px;"> 默认居中小窗! </div> </span> </div> <div class="ax-col ax-col-8" style="padding:36px;text-align: center"> <span class="ax-grade" placement="bottom-start">无限等级菜单 <div class="ax-grade-wrapper" style="width:300px;"> 居左小窗! </div> </span> </div> <div class="ax-col ax-col-8" style="padding:36px;text-align: center"> <span class="ax-grade" placement="bottom-end">无限等级菜单 <div class="ax-grade-wrapper" style="width:300px;"> 居右小窗! </div> </span> </div> </div>