CSS 悬停时只有下拉菜单不显示所有元素
CSS only dropdown not showing all elements at hover
我使用 overflow:hidden 创建了一个仅 CSS 的下拉菜单,但我在 Chrome 下遇到了一些问题。当我将鼠标悬停在下拉框上时,最初只出现了一部分元素。将光标向下移动到列表后,其余部分也会出现,但有时在悬停时,稍后出现的其余部分将保留在屏幕上,直到我再次将鼠标悬停在下拉列表上。
.c-dropdown {
width: 213px;
position:relative;
top:23px;
left:15%;
display:inline-block;
overflow:hidden;
border:1px solid #fb6b1e;
}
.c-dropdown:hover {
overflow:visible;
}
.c-dropdown__container {
width: 100%;
height:30px;
position:relative;
}
.c-dropdown__list {
width: 100%;
list-style:none;
position:absolute;
margin: 1px 0 0;
padding:0;
z-index:100;
}
.c-dropdown__item {
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
line-height: 30px;
background:#fff;
}
.c-dropdown__item:first-child {
border:0;
background:none;
}
.c-dropdown__item-link {
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 0.938em;
width:100%;
height:100%;
display:inline-block;
text-decoration:none;
color: #fb6b1e;
}
.c-dropdown__item .c-dropdown__item-link:before {
content:" ";
padding-left:10px;
}
.c-dropdown__item:first-child:hover .c-dropdown__item-link {
background:none;
color:#fb6b1e;
}
.c-dropdown__item:hover .c-dropdown__item-link {
background:#fb6b1e;
color:#fff;
}
.u-downarrow {
display: inline-block;
height: 10px;
width: 10px;
transform: rotate(225deg);
transform-origin: center center;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
}
.u-downarrow--dropdown {
position: absolute;
right: 11px;
top:7px;
}
<div class="c-dropdown">
<nav class="c-dropdown__container">
<ul class="c-dropdown__list">
<li class="c-dropdown__item"><a class="c-dropdown__item-link" href="#">Select</a></li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 0" href="#">Item 0</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 1" href="#">Item 1</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 2" href="#">Item 2</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 3" href="#">Item 3</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 4" href="#">Item 4</a>
</li>
</ul>
<div class="u-downarrow u-downarrow--dropdown"></div>
</nav>
</div>
如有任何帮助,我将不胜感激。
正在处理 Chrome。我将鼠标悬停在下拉菜单上,列表框完美地出现了;当我将鼠标从下拉列表中移开时,列表就消失了。在笔记本电脑上试试。
我使用 overflow:hidden 创建了一个仅 CSS 的下拉菜单,但我在 Chrome 下遇到了一些问题。当我将鼠标悬停在下拉框上时,最初只出现了一部分元素。将光标向下移动到列表后,其余部分也会出现,但有时在悬停时,稍后出现的其余部分将保留在屏幕上,直到我再次将鼠标悬停在下拉列表上。
.c-dropdown {
width: 213px;
position:relative;
top:23px;
left:15%;
display:inline-block;
overflow:hidden;
border:1px solid #fb6b1e;
}
.c-dropdown:hover {
overflow:visible;
}
.c-dropdown__container {
width: 100%;
height:30px;
position:relative;
}
.c-dropdown__list {
width: 100%;
list-style:none;
position:absolute;
margin: 1px 0 0;
padding:0;
z-index:100;
}
.c-dropdown__item {
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
line-height: 30px;
background:#fff;
}
.c-dropdown__item:first-child {
border:0;
background:none;
}
.c-dropdown__item-link {
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 0.938em;
width:100%;
height:100%;
display:inline-block;
text-decoration:none;
color: #fb6b1e;
}
.c-dropdown__item .c-dropdown__item-link:before {
content:" ";
padding-left:10px;
}
.c-dropdown__item:first-child:hover .c-dropdown__item-link {
background:none;
color:#fb6b1e;
}
.c-dropdown__item:hover .c-dropdown__item-link {
background:#fb6b1e;
color:#fff;
}
.u-downarrow {
display: inline-block;
height: 10px;
width: 10px;
transform: rotate(225deg);
transform-origin: center center;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
}
.u-downarrow--dropdown {
position: absolute;
right: 11px;
top:7px;
}
<div class="c-dropdown">
<nav class="c-dropdown__container">
<ul class="c-dropdown__list">
<li class="c-dropdown__item"><a class="c-dropdown__item-link" href="#">Select</a></li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 0" href="#">Item 0</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 1" href="#">Item 1</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 2" href="#">Item 2</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 3" href="#">Item 3</a>
</li>
<li class="c-dropdown__item">
<a class="c-dropdown__item-link" title="Item 4" href="#">Item 4</a>
</li>
</ul>
<div class="u-downarrow u-downarrow--dropdown"></div>
</nav>
</div>
如有任何帮助,我将不胜感激。
正在处理 Chrome。我将鼠标悬停在下拉菜单上,列表框完美地出现了;当我将鼠标从下拉列表中移开时,列表就消失了。在笔记本电脑上试试。