Как разместить dropdown-контент справа от левой навигационной панели при наведении - PullRequest
2 голосов
/ 06 февраля 2020

Итак, у меня есть левая панель навигации, которая открывается при наведении, а внутри нее кнопка с выпадающим содержимым, также при наведении. Но сейчас dropdown-контент появляется под кнопкой (внутри левой навигационной панели). Я хочу, чтобы раскрывающийся контент появлялся рядом с кнопкой, справа от левой навигационной панели (так, вне левой навигационной панели).

Есть идеи?

<div id="mySidenav" class="sidenav" style="background-image: linear-gradient(#7C0D0D, #DC0404);">
    <div class="dropdown">
      <button class="dropbtn" [ngStyle]="{'color': 'white','font-style': 'bold', 'font-size': '20.01px', 'font-family':'sans-serif'}">  <img src="assets/icon-overview-white.png" style="padding-right:14px; ">Screening</button>
      <div class="dropdown-content">
        <a href="#">Link 1</a>
        <a href="#">Link 2</a>
        <a href="#">Link 3</a>
      </div>
    </div>
  </div>
/* The side navigation menu */
.sidenav {
  height: 70%;
  width: 55px;
  position: fixed;
  z-index:0;
  top:200px;
  left:0px;
  right:50px;
  background-color: #ff0000;
  overflow-x:hidden;
  padding-top: 0px;
  transition: 0.5s;
}
  /* ON HOVER */
  .sidenav:hover {
    width: 250px;
  }
.sidenav normalb:hover {
  background-color: #4F0909;
}
.buttonGroup {
  align-content: baseline;
}

  /* Darker background on mouse-over */
  .btn:hover {
    background-color: #4F0909;
  }
  .sidenav h1 {
    background-color: #850101; /* Blue background */
    border: thin; /* Remove borders */
    color: white; /* White text */
    font-size: 16px; /* Set a font size */
    cursor: pointer; /* Mouse pointer on hover */
    overflow:hidden;
  }
    .sidenav h1:hover {
      background-color: #4F0909;
    }

  /* The navigation menu links */
  .sidenav a {
    padding-left:10px;
    text-decoration: none;
    font-size: 18px;
    color: #f1f1f1;
    display:block;
    transition: 0.3s
  }

  .sidenav a:hover, .offcanvas a:focus {
    color: #f1f1f1;
  }

#main {
  transition: margin-left .5s;
  padding: 20px;
}
.dropdown {

  position: relative;
  display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #640303;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index:1;  
}

  /* Links inside the dropdown */
  .dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }

    /* Change color of dropdown links on hover */
    .dropdown-content a:hover {
      background-color: #D90909;
    }

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
  background-color: #D60707;
}

1 Ответ

1 голос
/ 06 февраля 2020

Если вы уверены в ширине левой навигационной панели, вы можете установить свойство left для .dropdown-content. Поскольку dropdown-content равно absolute, установка значения влево сместит раскрывающийся список вправо.

.dropdown {
  position: relative;
  display: inline-block;
}


/* Dropdown Content (Hidden by Default) */

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #640303;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  top:0;
  left: 144px;
  /* Here I have set the width (minus padding) of the dropdown-content */
}


/* Links inside the dropdown */

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}


/* Change color of dropdown links on hover */

.dropdown-content a:hover {
  background-color: #D90909;
}


/* Show the dropdown menu on hover */

.dropdown:hover .dropdown-content {
  display: block;
}


/* Change the background color of the dropdown button when the dropdown content is shown */

.dropdown:hover .dropbtn {
  background-color: #D60707;
}
<div id="mySidenav" class="sidenav" style="background-image: linear-gradient(#7C0D0D, #DC0404);">
  <div class="dropdown">
    <button class="dropbtn" style="color: white;font-style: bold; font-size: 20.01px; font-family:sans-serif;">  <img src="assets/icon-overview-white.png" style="padding-right:14px; ">Screening</button>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...