侧面导航栏与组件重叠

时间:2019-07-23 12:10:10

标签: angular

我在我的有角项目中创建了一个固定的导航栏,所有其他组件都显示在导航栏下方。  enter image description here

SideNav组件HTML

<div class="wrapper">
  <nav id="sidebar">
    <div class="menu">
      <div class="logo">
        <img src="../../assets/hotel (3).png" alt="Logo">
      </div>

      <ul>
        <li>
        <a href="#">Infomation</a>
        </li>
        <li>
        <a href="#"> Procedures</a>
        </li>
        <li>
          <a routerLink="/doctor">Hellow</a>
        </li>
        <li>
        <a href="#">Chat</a>
        </li>
        <li>
          <a href="#">Books</a>
        </li>
      </ul>

    </div>
  </nav>
</div>

SideNav.Css

.wrapper {
  display: flex;
  align-items: stretch;

}

#sidebar {
  min-width: 300px;
  max-width: 300px;
  min-height: 100vh;
  border-style: solid;
  border-width: 0 2px 0px 0px;
  border-color: lightgrey;

}

.logo {
  text-align: center;
  padding: 20% 0;

}

app-compnent.html

<app-sidemenu>

  <div class="view">
    <router-outlet></router-outlet>
  </div>

我想用其他组件填充空白区域

1 个答案:

答案 0 :(得分:1)

将侧边栏组件和主要内容包装在容器中,并将flex-grow: 1应用于主要内容,这将占用剩余的所有空间:

/*Apply CSS reset*/ 
*{
 margin: 0;
 box-sizing: border-box;
}

/*Declare layout*/
.container{
 display: flex;
}

aside {
 width:150px;
 height: 100vh;
 background:green;
}

.view {
 flex-grow: 1;
 height: 100vh;
 background: yellow
}
<div class="container">
   <aside>Your navbar component</aside>
   <div class="view">
      ...Your router-outlet
   </div>
</div>