css - Angular 动态菜单和子菜单样式

标签 css angular angular5

伙计们,我有动态导航栏。如果菜单有子菜单,则子菜单可用。我想在悬停的相关菜单下打开子菜单,并希望保持子菜单可见以选择他们的元素。 使用此代码,子菜单将始终显示在该 css 样式位置,当我的鼠标移到它时,菜单将消失...我该如何解决这个问题?

这是我的导航栏:

<nav>
  <div class="nav-wrapper grey darken-3">
    <ul class="right hide-on-med-and-down second-nav">
      <li *ngFor="let cat of categories">
        <a (mouseover)="hover($event, cat)" (mouseleave)="unhover($event)" class="dropdown-button" >{{ cat.title }}</a>
      </li>
    </ul>
  </div>
</nav>
<!-- Dropdown -->
<div *ngIf="hoveredCategory" class="content">
  <ul id="hoveredCategory" class="collection">
    <li class="collection-item avatar" *ngFor="let sc of hoveredCategory.sub">
      <span>
        {{ sc }}
      </span>
    </li>
  </ul>
</div>

mycss:

.content {
  background-color: #FFFFFF;
  margin: 0;
  width: 300px;
  position: absolute;
  right: 0;
  min-width: 300px;
  max-height: inherit;
    margin-left: -1px;
  overflow: hidden;
  white-space: nowrap;
  z-index: 1;
}

悬停和取消悬停:

  hover(event, category) {
    this.hoveredCategory = category;
  }

  unhover(event) {
    this.hoveredCategory = null;

  }

最佳答案

.navigation ul,.navigation li{
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
}
.navigation li{
    background:rgba(0,0,0,0.3);
    position: relative;
}
 .navigation li a {
    padding: 15px;
    display:block;
    text-decoration:none;
}
 .navigation ul ul{
 	display: none;
 	position: absolute;
 	top: 100%;
 	left: 0;
 }
 .navigation li:hover ul{
 	display: block;
 }
<div class="navigation">
	<ul>
	    <li>
	    	<a href="javascript:;">Menu Item</a>
	    	<ul>
	    		<li><a href="javascript:;">Sub Item</a></li>
	    		<li><a href="javascript:;">Sub Item</a></li>
	    		<li><a href="javascript:;">Sub Item</a></li>
	    	</ul>
	    </li>
	    <li><a href="javascript:;">Menu Item</a></li>
	    <li><a href="javascript:;">Menu Item</a></li>
	    <li><a href="javascript:;">Menu Item</a></li>
	</ul>
</div>

试试这个。

关于css - Angular 动态菜单和子菜单样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49299307/

相关文章:

css - 如何在 ng-bootstrap 中更改模态框的位置

javascript - 无法在 angular2 中循环 json 对象

html - CSS bug 双击会更改文本图像和标题背景以及字体颜色

css - 如何更改 ag-grid 行组缩进?

html - 删除与类关联的 HTML 标记

Angular 11 : Unit testing an HttpInterceptor - can't get catchError to work in test

javascript - 修复了滚动到页面底部时扩展的页脚

javascript - angular 2 我们是否需要在不需要时避免双向数据绑定(bind)?

css - 如何将 ngx 数据表中的 css 添加到仅某些列?

angular5 - 点击@angular/service-worker推送通知的action部分