липкая панель навигации не работает - PullRequest
1 голос
/ 21 марта 2020

Я относительно новичок в веб-разработке, и мне поручили «работу» одного из членов моей семьи. У меня проблемы с «липкой» функцией. Это навигационная панель с выпадающим списком. Когда я пытаюсь прокрутить вниз, чтобы проверить липкую функцию, она не будет работать.

Вот мой пример кода:

.nav {
  position: sticky;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: inline-block;
  min-width: 3990px;
}

li {
  float: left;
}

li a,
.dropbtn {
  display: inline-block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover,
.dropdown:hover .dropbtn {
  background-color: red;
}

li.dropdown {
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

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

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

.dropdown:hover .dropdown-content {
  display: block;
}
<body>
  <div class="nav" id="navbar">
    <ul>
      <li>
        <a href="First_Page.html">Home</a>
      </li>
      <li>
        <a href="">About Us</a>
      </li>
      <li class="dropdown" id="navbar">
        <a href="#" class="dropbtn">Dropdown</a>
        <div class="dropdown-content" id="navbar">
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
      </li>
    </ul>
  </div>
</body>

это "прототип", поэтому, пожалуйста, не судите его слишком резко.

хорошего дня.

Ответы [ 2 ]

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

Вам нужно добавить свойство top или bottom, если вы хотите использовать sticky. Я предлагаю вам использовать position: fixed вместо.

body { /* just to see scroll */
  min-height: 200vh;
  background: linear-gradient(black, white);
}

.nav {
  position: sticky;
  top: 0.5rem; /* half the font size */
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: inline-block;
  min-width: 3990px;
}

li {
  float: left;
}

li a,
.dropbtn {
  display: inline-block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover,
.dropdown:hover .dropbtn {
  background-color: red;
}

li.dropdown {
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

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

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

.dropdown:hover .dropdown-content {
  display: block;
}
<body>
  <div class="nav" id="navbar">
    <ul>
      <li>
        <a href="First_Page.html">Home</a>
      </li>
      <li>
        <a href="">About Us</a>
      </li>
      <li class="dropdown" id="navbar">
        <a href="#" class="dropbtn">Dropdown</a>
        <div class="dropdown-content" id="navbar">
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
      </li>
    </ul>
  </div>
</body>
0 голосов
/ 21 марта 2020

Попробуйте вместо этого

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