目前,我正在导航栏菜单上。将鼠标悬停在我的CSS borders
项目上时,我希望能够使用使用nav
创建的箭头。目前这是可行的,但是创建的:after
箭头在nav border
上方时被隐藏了一半。即使按如下所示设置z-index的样式,它也仍然是隐藏的。
我只能输入一小段代码,否则可能会太多,但希望您能明白我的意思。
#navbar {
overflow: hidden;
background-color: white;
font-size: 11px;
z-index: 2;
border: 1px solid grey;
height: 50px;
}
.navbar-links {
margin-left:10em;
height: 100%;
padding: 0em 4em 0em 1em;
min-width:348px;
margin-top:auto;
margin-bottom:auto;
}
#navbar .navbar-links a {
display:block;
float: left;
color: grey;
padding: 14px 20px 14px 20px;
text-decoration: none;
font-size: 14px;
margin-top: auto;
margin-bottom: auto;
position:relative;
}
#navbar .navbar-links a:hover::after {
left: calc(50% - 10px);
content: '';
position: absolute;
bottom: -12px;
width: 0;
height: 0;
text-align: center;
border-width: 10px 10px 0;
border-style: solid;
border-color: grey transparent;
margin: auto;
display: block;
left:0;
right: 0;
z-index:10;
}
<div id="navbar">
<div class="navbar-links">
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link1']" (mouseover)="displayInsightDropDown();" (mouseleave)="hideInsightDropDown();">LINK 1</a>
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link2']">LINK 2</a>
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link3']">LINK 3</a>
</div>
</div>
我只希望能够在导航框之外显示这些箭头。任何建议,将不胜感激。
答案 0 :(得分:1)
它是隐藏的,因为它是#navbar
的子元素,因此您声明应该隐藏溢出。
您只需在overflow: visible;
上设置#navbar
。
#navbar {
overflow: visible; /* ← This does the trick */
background-color: white;
font-size: 11px;
z-index: 2;
border: 1px solid grey;
height: 50px;
}
.navbar-links {
margin-left:10em;
height: 100%;
padding: 0em 4em 0em 1em;
min-width:348px;
margin-top:auto;
margin-bottom:auto;
}
#navbar .navbar-links a {
display:block;
float: left;
color: grey;
padding: 14px 20px 14px 20px;
text-decoration: none;
font-size: 14px;
margin-top: auto;
margin-bottom: auto;
position:relative;
}
#navbar .navbar-links a:hover::after {
left: calc(50% - 10px);
content: '';
position: absolute;
bottom: -16px;
width: 0;
height: 0;
text-align: center;
border-width: 10px 10px 0;
border-style: solid;
border-color: grey transparent;
margin: auto;
display: block;
left:0;
right: 0;
z-index:10;
}
<div id="navbar">
<div class="navbar-links">
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link1']" (mouseover)="displayInsightDropDown();" (mouseleave)="hideInsightDropDown();">LINK 1</a>
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link2']">LINK 2</a>
<a [routerLinkActive]="['navbar-links-active']" [routerLink]="['link3']">LINK 3</a>
</div>
</div>