HTML子菜单在添加CSS插入符号后悬停时消失
我已经从下面的例子中为“Right-a”菜单添加了CSS插入符号(或参见)。如果您将鼠标悬停在“Right-A”上,并尝试单击子菜单中的任何项目,您将看到子菜单消失 看起来不错错误是由插入符号中的间隙引起的,但我现在找不到解决方案HTML子菜单在添加CSS插入符号后悬停时消失,css,drop-down-menu,caret,Css,Drop Down Menu,Caret,我已经从下面的例子中为“Right-a”菜单添加了CSS插入符号(或参见)。如果您将鼠标悬停在“Right-A”上,并尝试单击子菜单中的任何项目,您将看到子菜单消失 看起来不错错误是由插入符号中的间隙引起的,但我现在找不到解决方案 <nav> <ul class="inline-menu left-menu"> <li><a href="">Left-A</a>
<nav>
<ul class="inline-menu left-menu">
<li><a href="">Left-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Left-B</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu middle-menu">
<li><a href="">Middle-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Middle-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu right-menu">
<li><a href="">Right-A</a>
<div class="caret"></div>
<ul class="sub-menu-full-width">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Right-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
</nav>
*{
box-sizing: border-box;
}
body{
background-color: #fff;
padding: 0;
font-family: arial;
font-size: 12px;
font-height: 1.25em;
}
nav{
text-align: center;
}
/* menu */
.inline-menu,
.inline-menu ul{
list-style: none;
padding: 0;
margin: 0;
}
.inline-menu.left-menu{
float: left;
}
.inline-menu.right-menu{
float: right;
}
.inline-menu.middle-menu{
display: inline-block;
}
.inline-menu > li{
display: inline-block;
position: relative;
background-color: #eee;
width: 100px;
}
.inline-menu a{
text-decoration: none;
}
/* sub-menu */
.inline-menu > li > ul{
display: none;
position: absolute;
background-color: #fff;
border: solid #eee 1px;
border-radius: 2px;
text-align: left;
width: 60px;
}
.inline-menu > li:hover > ul{
display: block;
}
.inline-menu > li:hover > ul.sub-menu-full-width{
width: 100%;
}
.inline-menu > li:hover > ul.open-right{
right:0px;
}
.inline-menu > li:hover > ul > li:hover{
background-color: #f0f0f0;
cursor: pointer;
}
/* caret */
.caret {
position: relative;
z-index: 2;
}
.caret:before {
content: '';
position: absolute;
top: 0;
left: 0;
border-bottom: 6px solid #807979;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
display: none;
}
.inline-menu > li:hover .caret:before{
display: block;
}
.caret + ul{
margin-top: 6px;
}
-
-
-
-
-
-
*{
框大小:边框框;
}
身体{
背景色:#fff;
填充:0;
字体系列:arial;
字体大小:12px;
字体高度:1.25em;
}
导航{
文本对齐:居中;
}
/*菜单*/
.内联菜单,
.内联菜单{
列表样式:无;
填充:0;
保证金:0;
}
.inline-menu.left-menu{
浮动:左;
}
.inline-menu.right-menu{
浮动:对;
}
.inline-menu.middle-menu{
显示:内联块;
}
.inline菜单>li{
显示:内联块;
位置:相对位置;
背景色:#eee;
宽度:100px;
}
.内联菜单a{
文字装饰:无;
}
/*子菜单*/
.内联菜单>li>ul{
显示:无;
位置:绝对位置;
背景色:#fff;
边框:实心#eee 1px;
边界半径:2px;
文本对齐:左对齐;
宽度:60px;
}
.inline菜单>li:悬停>ul{
显示:块;
}
.内联菜单>li:悬停>ul.子菜单-全宽{
宽度:100%;
}
.inline菜单>li:悬停>ul.右开{
右:0px;
}
.inline菜单>li:悬停>ul>li:悬停{
背景色:#f0;
光标:指针;
}
/*插入符号*/
插入符号{
位置:相对位置;
z指数:2;
}
插入符号:之前{
内容:'';
位置:绝对位置;
排名:0;
左:0;
边框底部:6px实心#807979;
左边框:6px实心透明;
右边框:6px实心透明;
显示:无;
}
.inline menu>li:悬停。插入符号:之前{
显示:块;
}
.插入符号+ul{
边缘顶部:6px;
}
插入符号在子菜单和主菜单之间创建一个间隙,直到鼠标指针离开主菜单并到达子菜单子菜单已经隐藏
如果您希望将插入符号保持在与示例中现在相同的位置,那么编写代码以在插入符号悬停时显示子菜单
检查
将插入符号的代码更改为
<li><a href="">Right-A<span class="caret"></span></a>
<ul class="sub-menu-full-width">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
插入符号在子菜单和主菜单之间创建一个间隙,直到鼠标指针离开主菜单并到达子菜单子菜单已经隐藏
如果您希望将插入符号保持在与示例中现在相同的位置,那么编写代码以在插入符号悬停时显示子菜单
检查
将插入符号的代码更改为
<li><a href="">Right-A<span class="caret"></span></a>
<ul class="sub-menu-full-width">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
您可以像这样将carot放入li中
<nav>
<ul class="inline-menu left-menu">
<li><a href="">Left-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Left-B</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu middle-menu">
<li><a href="">Middle-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Middle-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu right-menu">
<li><a href="">Right-A</a>
<ul class="sub-menu-full-width">
<li class="caret" style="padding-top:10px"><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Right-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
</nav>
-
-
-
-
-
-
您可以像这样将carot放入li中
<nav>
<ul class="inline-menu left-menu">
<li><a href="">Left-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Left-B</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu middle-menu">
<li><a href="">Middle-A</a>
<ul>
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Middle-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
<ul class="inline-menu right-menu">
<li><a href="">Right-A</a>
<ul class="sub-menu-full-width">
<li class="caret" style="padding-top:10px"><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
<li><a href="">Right-B</a>
<ul class="open-right">
<li><a href="">1</a></li>
<li><a href="">2</a></li>
</ul>
</li>
</ul>
</nav>
-
-
-