Как исправить положение одного элемента во флюсе? - PullRequest
1 голос
/ 26 марта 2020

У меня есть левая боковая панель и правая сторона содержимого. Я использовал гибкую коробку, чтобы отделить их. Работает нормально. Но при прокрутке контента боковая панель на левой стороне также прокручивается вместе с контентом. Я хочу закрепить боковую панель в том же положении.

Это боковая панель html

<nav id="sidebar">
  <ul class="list-unstyled components">
    <li>
      <a href="#usersMenu" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle"
        >Users</a
      >
      <ul class="collapse list-unstyled" id="usersMenu">
        <li>
          <a routerLink="/admins">Admins</a>
        </li>
        <li>
          <a routerLink="/sellers">Sellers</a>
        </li>
        <li>
          <a routerLink="/customers">Customers</a>
        </li>
        <li>
          <a routerLink="/delivery-boys">Delivery Boys</a>
        </li>
      </ul>
    </li>
    <li>
      <a routerLink="/shop/categories">Categories</a>
    </li>
    <li>
      <a routerLink="/shop/brands">Brands</a>
    </li>
    <li>
      <a routerLink="/shop/products">Products</a>
    </li>
    <li>
      <a routerLink="/shop/orders">Orders</a>
    </li>
    <li>
      <a routerLink="/shop/deliveries">Deliveries</a>
    </li>
  </ul>
</nav>

Это боковая панель css

a,
a:hover,
a:focus {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s;
}

#sidebar {
  min-width: 250px;
  max-width: 250px;
  background: #1d5ea8;
  color: #fff;
  transition: all 0.3s;
  height: 100%;
  margin-top: 56px;
}

#sidebar.active {
  margin-left: -250px;
}

#sidebar ul.components {
  padding: 20px 0;
  border-bottom: 1px solid #1d5ea8;
}

#sidebar ul p {
  color: #fff;
  padding: 10px;
}

#sidebar ul li a {
  padding: 10px;
  font-size: 1.1em;
  display: block;
}

#sidebar ul li a:hover {
  color: #7386d5;
  background: #fff;
}

#sidebar ul li.active > a,
a[aria-expanded='true'] {
  color: #fff;
  background: #1d5ea8;
}

a[data-toggle='collapse'] {
  position: relative;
}

.dropdown-toggle::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

ul ul a {
  font-size: 0.9em !important;
  padding-left: 30px !important;
  background: #1d5ea8;
}

Это компонент приложения. html

<div class="wrapper">
  <app-side-nav-bar *ngIf="checkLogin()"></app-side-nav-bar>

  <app-horizontal-nav-bar *ngIf="checkLogin()"></app-horizontal-nav-bar>

  <div id="content">
    <router-outlet></router-outlet>
    <app-footer *ngIf="checkLogin()"></app-footer>
  </div>
</div>

Это оболочка и содержимое css

.wrapper {
  display: flex;
  width: 100%;
  align-items: stretch;
}

#content {
  width: 100%;  
  min-height: 100vh;
  transition: all 0.3s;
}

Изображение 1

Изображение 2

1 Ответ

0 голосов
/ 26 марта 2020

Необходимо установить #content на overflow-y: auto, чтобы полоса прокрутки прокручивалась внутри раздела содержимого, а не по всему телу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...