Раскрывающийся список перед событием - PullRequest
0 голосов
/ 16 декабря 2018

Давний тайник, первый вопрос.У меня здесь странное событие ...

В верхней части моего сайта есть панель навигации с несколькими элементами с выпадающим меню.Раскрывающийся список будет автоматически отображаться, когда мышь находится в области, где будет отображаться раскрывающийся список.(См. Изображение ниже).Красная стрелка показывает, где находится моя мышь, когда срабатывает раскрывающийся список. пример

Я чувствую, что это связано с z-индексом, но разные комбинации z-индекса для основного контента и подменю не работают.Если я изменю z-index на «-1», он больше не будет отображаться, пока вы не наведете указатель мыши на «Info», однако он скрывает его за основным контентом и делает ссылки недоступными для клика.

Редактировать , чтобы включить все CSS и HTML для меню.Спасибо!

#header {
  width: 970px;
  height: 26px;
  margin: 0 auto;
  margin-top: 25px;
  border-bottom-width: thin;
  border-top-width: thin;
  border-left-width: thin;
  border-right-width: thin;
  border-style: solid;
  border-color: #444;
}

.clearfix: after {
  display: block;
  clear: both;
}

.menu-wrap {
  z-index: 1;
  margin: -13px 0px;
  float: right;
}

.menu li {
  margin: 0px;
  list-style: none;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-weight: 500;
}

.menu a {
  text-decoration: none;
  color: #2e2728;
}

.menu>ul>li {
  float: left;
  display: block;
  font-size: 13px;
}

.menu>ul>li>a {
  padding: 3px 10px;
}

.menu>ul>li:hover>a,
.menu>ul>.current-item>a {
  background: #2e2728;
  height: 15px;
  color: #fff;
}

.menu li:after {
  content: '|';
  color: #2e2728;
  display: inline-block;
}

.menu li:last-child:after {
  content: none;
}

.menu li:hover .sub-menu {
  opacity: 1;
}

.sub-menu {
  padding: 5px 0px;
  margin-top: 3px;
  position: absolute;
  z-index: 0;
  opacity: 0;
  background: #2e2728;
}

.sub-menu li {
  display: block;
  font-size: 13px;
}

.sub-menu li a {
  display: block;
  padding: 0px 10px;
  color: #fff;
}

.sub-menu li a:hover,
.sub-menu .current-item a {
  background: #3e3436;
}
<div id="header">
  <div id="socialmedia">
    other stuff
  </div>

  <div class="menu-wrap">
    <nav class="menu">
      <ul class="clearfix">
        <li><a href="http://www.jon-stone.com/">Home</a></li>
        <li><a href="/urbanexplorations/">Urban Explorations</a></li>
        <li><a href="/galleries/">Galleries</a></li>
        <li><a href="#">Photography&#9662;</a>
          <ul class="sub-menu">
            <li><a href="http://www.jon-stone.com/info/fineart.php">Fine&nbsp;Art&nbsp;Purchasing</a></li>
            <li><a href="http://www.jon-stone.com/weddings/">Weddings</a></li>
            <li><a href="http://www.jon-stone.com/realestate/">Real Estate</a></li>
          </ul>
        </li>
        <li><a href="http://www.jon-stone.com/videography">Videography</a></li>
        <li><a href="">Info&#9662;</a>
          <ul class="sub-menu">
            <li><a href="http://www.jon-stone.com/info/statementandbio.php">Artist&nbsp;Statement&nbsp;&amp;&nbsp;Bio</a></li>
            <li><a href="http://www.jon-stone.com/info/awardsandpublications.php">Awards&nbsp;&amp;&nbsp;Publications</a></li>
            <li><a href="http://www.jon-stone.com/info/events.php">Events</a></li>
          </ul>
        </li>
        <li><a href="http://www.jon-stone.com/contact/">Contact</a></li>
      </ul>
    </nav>
  </div>
</div>

1 Ответ

0 голосов
/ 16 декабря 2018

Кажется, проблема в том, как скрыто подменю.Поскольку его opacity установлено на 0, пользователь все еще может навести элемент, как если бы он был там.Вместо этого вы должны искать решение, используя display: none.При этом, даже если пользователь обычно наводит курсор на положение скрытого элемента, он не будет считаться зависшим в условии CSS.

...