首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SubMenu仅在悬停时显示

SubMenu仅在悬停时显示
EN

Stack Overflow用户
提问于 2016-08-31 17:16:09
回答 1查看 344关注 0票数 0

我有菜单,下面。

我希望"Crea Fatture“和"Fatture Esterne”仅当我悬停在左侧菜单中的"Fatture Esterne“时才出现在右侧。

我怎样才能做到这一点?

代码语言:javascript
复制
#cssmenu {
  line-height: 15px;
  text-align: left;
}
#cssmenu > ul {
  width: auto;
  list-style-type: none;
  padding: 0;
  margin: 0;
  background: #ffffff;
}
#cssmenu > ul li#responsive-tab {
  display: none;
  /* Hide for large screens */
}
#cssmenu > ul li {
  display: inline-block;
  *display: inline;
  zoom: 1;
}
#cssmenu > ul li.right {
  float: right;
}
#cssmenu > ul li.has-sub {
  position: relative;
}
#cssmenu > ul li.has-sub:hover ul {
  display: block;
}
#cssmenu > ul li.has-sub:hover ul li.#sub {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
}
#cssmenu > ul li.has-sub ul li {
  display: block;
}
#cssmenu > ul li.has-sub > a {
  background-image: url('images/caret.png');
  background-repeat: no-repeat;
  background-position: 90% -95%;
}
#cssmenu > ul li.has-sub > a.active,
#cssmenu > ul li.has-sub > a:hover {
  background: #0a3f75 url('images/caret.png') no-repeat;
  background-position: 90% 195%;
  color: #fff;
}
#cssmenu > ul li a {
  display: block;
  padding: 12px 24px 11px 24px;
  text-decoration: none;
  color: #0a3f75;
}
#cssmenu > ul li a.active,
#cssmenu > ul li a:hover {
  background: #0a3f75;
  color: #fff;
}
li#sub ul {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
}
li#sub:hover ul {
  display: block;
}
代码语言:javascript
复制
<div class="navbar-collapse collapse navbar-right sendaboxnavbar" id="cssmenu" style="width: 1093px;">
  <ul style="float: left;">
    <li class='has-sub'><a href="" id="A3" style="width: 190px;" class="usernav">Tab Amministrativo <span class="caret"></span></a>
      <ul>
        <li><a class="navbar-text" href="/Admin/Pages/EsportazioneFatture.aspx">Esporta Fatture</a>
        </li>
        <li><a class="navbar-text" href="/Admin/Pages/Rimborsi.aspx">Rimborsi</a>
        </li>
        <li><a class="navbar-text" href="/Admin/Pages/NotaCredito.aspx">Note di Credito</a>
        </li>
        <li class='has-sub' id='sub'><a href="" id="A3" class="usernav">Fatture Esterne</a>
          <ul>
            <li><a class="navbar-text" href="/Admin/Pages/CreaFattura.aspx">Crea Fattura</a>
            </li>
            <li><a class="navbar-text" href="/Admin/Pages/FattureEsterne.aspx">Fatture Esterne</a>
            </li>
          </ul>
        </li>
        <li class='last'><a class="navbar-text" href="/Admin/Pages/Dashboard_Prezzi_Nazionale.aspx">Tariffario</a>
        </li>
      </ul>
    </li>
  </ul>
</div>

JSFiddle视图

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 17:28:26

您的错误是在第一个li和内部li中使用相同的类。

因此,有了类似ul li.has-sub的东西,即使它们不是直接子元素,也会选择带有类has的所有li元素。

要解决这个问题,要么更改类的名称,要么以不同的方式选择它们。

代码语言:javascript
复制
#cssmenu {
  line-height: 15px;
  text-align: left;
}
#cssmenu > ul {
  width: auto;
  list-style-type: none;
  padding: 0;
  margin: 0;
  background: #ffffff;
}
#cssmenu > ul li#responsive-tab {
  display: none;
  /* Hide for large screens */
}
#cssmenu > ul li {
  display: inline-block;
  *display: inline;
  zoom: 1;
}
#cssmenu > ul li.right {
  float: right;
}
#cssmenu > ul li.has-sub {
  position: relative;
}
#cssmenu > ul li#sub:hover ul {
  display: block;
}
#cssmenu > ul li.has-sub:hover ul li.#sub {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
}
#cssmenu > ul li.has-sub ul li {
  display: block;
}
#cssmenu > ul li.has-sub > a {
  background-image: url('images/caret.png');
  background-repeat: no-repeat;
  background-position: 90% -95%;
}
#cssmenu > ul li.has-sub > a.active,
#cssmenu > ul li.has-sub > a:hover {
  background: #0a3f75 url('images/caret.png') no-repeat;
  background-position: 90% 195%;
  color: #fff;
}
#cssmenu > ul li a {
  display: block;
  padding: 12px 24px 11px 24px;
  text-decoration: none;
  color: #0a3f75;
}
#cssmenu > ul li a.active,
#cssmenu > ul li a:hover {
  background: #0a3f75;
  color: #fff;
}
li#sub ul {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
}
li#sub:hover ul {
  display: block;
}
代码语言:javascript
复制
<div class="navbar-collapse collapse navbar-right sendaboxnavbar" id="cssmenu" style="width: 1093px;">
  <ul style="float: left;">
    <li class='has-sub'><a href="" id="A3" style="width: 190px;" class="usernav">Tab Amministrativo <span class="caret"></span></a>
      <ul>
        <li><a class="navbar-text" href="/Admin/Pages/EsportazioneFatture.aspx">Esporta Fatture</a>
        </li>
        <li><a class="navbar-text" href="/Admin/Pages/Rimborsi.aspx">Rimborsi</a>
        </li>
        <li><a class="navbar-text" href="/Admin/Pages/NotaCredito.aspx">Note di Credito</a>
        </li>
        <li class='has-sub' id='sub'><a href="" id="A3" class="usernav">Fatture Esterne</a>
          <ul>
            <li><a class="navbar-text" href="/Admin/Pages/CreaFattura.aspx">Crea Fattura</a>
            </li>
            <li><a class="navbar-text" href="/Admin/Pages/FattureEsterne.aspx">Fatture Esterne</a>
            </li>
          </ul>
        </li>
        <li class='last'><a class="navbar-text" href="/Admin/Pages/Dashboard_Prezzi_Nazionale.aspx">Tariffario</a>
        </li>
      </ul>
    </li>
  </ul>
</div>

小提琴手:https://jsfiddle.net/tyrj5xnu/4/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39255414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档