水平导航菜单
Source
Output
QRCode
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>水平导航菜单</title>
<link rel="stylesheet" type="text/css" href="//g.alicdn.com/kissy/k/5.0.1/css/base.css">
<style type="text/css">
.nav-menu {
outline: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.nav-menu a {
text-decoration: none;
}
.nav-menu a, .nav-menu a:link, .nav-menu a:visited {
color: #333;
}
.nav-menu a:hover, .nav-menu .nav-menuitem-hover a, .nav-menu a:active {
text-decoration: none;
color: #F96400;
}
.horizonal {
background-color: #f0f0f0;
border-top: 1px solid #dcdcdc;
border-bottom: 1px solid #dcdcdc;
height: 33px;
_overflow: hidden;
*zoom: 1;
}
.nav-menu .nav-menuitem {
white-space: nowrap;
}
.nav-menu .nav-menuitem .title {
display: block;
font-size: 14px;
font-weight: bold;
height: 33px;
line-height: 33px;
padding: 0 30px;
}
.nav-menu .nav-menuitem span.title {
padding: 0 20px 0 12px;
}
.horizonal .nav-menuitem {
float: left;
}
.nav-menu .nav-menuitem-hover a.title {
border-top: 2px solid #F96400;
margin-top: -1px;
line-height: 31px;
background-color: #e4e4e4;
background-image: -moz-linear-gradient(-90deg, #e9e9e9, #dedede);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e9e9e9), color-stop(1, #dedede));
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr = '#e9e9e9', EndColorStr = '#dedede');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#e9e9e9', EndColorStr='#dedede')";
}
.nav-menu .nav-menuitem-hover span.title {
background: #f5f5f5;
padding-bottom: 1px;
border: 1px solid #cbcbcb;
border-bottom: none;
margin-top: -1px;
margin-left: -1px;
}
.nav-menu .nav-submenu {
position: relative;
z-index: 10000;
}
.nav-menu .nav-submenu .nav-submenu-arrow {
position: absolute;
top: 46%;
top: 40%\9;
right: 6px;
width: 0;
height: 0;
border-width: 4px 4px 0 4px;
border-style: solid dashed dashed dashed;
border-color: #666 transparent transparent transparent;
font-size: 0;
line-height: 0;
/*http://goo.gl/jb0w0*/
-webkit-transform-style: preserve-3d;
-webkit-transition: -webkit-transform 0.2s ease-in;
-moz-transition: -moz-transform 0.2s ease-in;
-o-transition: -o-transform 0.2s ease-in;
transition: transform 0.2s ease-in;
}
.nav-menu .nav-submenu-hover .nav-submenu-arrow {
-moz-transform: rotate(180deg);
-moz-transform-origin: 50% 30%;
-webkit-transform: rotate(180deg);
-webkit-transform-origin: 50% 30%;
-o-transform: rotate(180deg);
-o-transform-origin: 50% 50%;
transform: rotate(180deg);
transform-origin: 50% 30%;
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation = 2);
}
.nav-popupmenu {
position:absolute;
left:-9999px;
top:-9999px;
background-color: #f5f5f5;
border: 1px solid #CBCBCB;
}
.nav-popupmenu .nav-menuitem a {
display: block;
padding-left: 12px;
height: 30px;
line-height: 30px;
}
.nav-popupmenu .nav-menuitem-hover a {
background: #fff;
font-weight: bold;
}
.nav-popupmenu-hidden {
visibility: hidden;
}
.horizonal .ks-menuitem {
float: left;
}
</style>
<script src="//g.alicdn.com/kissy/k/5.0.1/seed.js" data-config="{combine:true}"></script>
</head>
<body>
<h1>水平导航菜单</h1>
<div id="menu_container">
</div>
<script type="text/javascript">
require(['menu', 'util'], function (Menu, util) {
var prefixCls = "nav-";
// 首先创建一个弹出菜单
var sb = new Menu.PopupMenu({
width:200,
// boolean,是否鼠标脱离菜单后自动隐藏
autoHideOnMouseLeave:true,
align:{ //相对父组件 b = new Menu.SubMenu() 定位
offset:[-1, -1],
points:['bl', 'tl']
},
prefixCls:prefixCls
});
util.each(['日志', '相册', '个人资料'], function (title) {
sb.addChild(new Menu.Item({
prefixCls:prefixCls,
content:'<a href="javascript:void(0)" tabindex="-1">' + title + '</a>'
}));
});
// 这个子菜单, 关联到上面创建的弹出菜单
var b = new Menu.SubMenu({
prefixCls:prefixCls,
content:'<span class="title">更多</span>',
menu:sb
});
// 创建导航菜单
var menu = new Menu({
prefixCls:prefixCls,
width:'70%',
render:'#menu_container',
elCls:"horizonal"
});
util.each(['淘单', '动态'], function (title) {
menu.addChild(new Menu.Item({
prefixCls:prefixCls,
content:'<a href="javascript:void(0)" class="title" tabindex="-1">' + title + '</a>'
}));
});
menu.addChild(b);
menu.render();
});
</script>
</body>
</html>