JSFiddle - React, Tailwind, and code Playground
HTML
<div class="wrap" id="menu">
<ul class="parent">
<li class="parent-item">菜单1</li>
<li class="parent-item">菜单2</li>
<li class="parent-item">菜单3</li>
<li class="parent-item">菜单4</li>
<li class="parent-item">菜单5</li>
<li class="parent-item">菜单6</li>
</ul>
<ul class="child-wrap" id="childMenu">
<li class="child-item">
<ul class="">
<li class="parent-item">菜单1</li>
<li class="parent-item">菜单2</li>
<li class="parent-item">菜单3</li>
<li class="parent-item">菜单4</li>
<li class="parent-item">菜单5</li>
<li class="parent-item">菜单6</li>
</ul>
</li>
<li class="child-item">
<h1>子菜单2</h1>
</li>
<li class="child-item">
<h1>子菜单3</h1>
</li>
<li class="child-item">
<h1>子菜单4</h1>
</li>
<li class="child-item">
<h1>子菜单5</h1>
</li>
<li class="child-item">
<h1>子菜单6</h1>
</li>
</ul>
</div>
CSS
*{margin:0;padding:0;list-style:none;}
.wrap {
position: relative;
margin: 20px;
width: 500px;
font-size: 14px;
}
.parent{
position: relative;
z-index: 2;
width: 200px;
background: #eee;
color: #666
}
.parent-item {
line-height: 28px;
text-align: center;
border: 1px solid transparent;
border-right: none;
}
.parent-item.hover {
margin-right: -1px;
padding-right: 1px;
background: #fff;
border-color: #ddd;
}
.child-wrap {
display: none;
position: absolute;
top: 0;
left: 200px;
z-index: 1;
height: 100%;
border: 1px solid #ddd;
background: #fff;
}
.child-item {
display: none;
width: 300px;
height: 100%;
text-align: center;
}
JavaScript
var $childMenu = $('#childMenu');
$('#menu').on('mouseenter', '.parent-item', function(){
var $this = $(this),
index = $this.index();
$this.addClass('hover').siblings().removeClass('hover');
$childMenu.show().find('.child-item').hide().eq(index).show();
}).on('mouseleave', function(){
$(this).find('.parent-item.hover').removeClass('hover');
$childMenu.hide();
})