【问题标题】:CSS Navigation: HighlightingCSS 导航:突出显示
【发布时间】:2015-09-07 23:35:39
【问题描述】:

早上好,

我一直在玩纯 CSS 导航下拉菜单,遇到了一个问题,想知道是否有人可以提供帮助。

我希望我所在的页面以绿色背景的白色文本突出显示,就像将鼠标悬停在其上时一样,我还希望 MENU 1 和 MENU 2 在我将鼠标悬停在其子上时保持白色文本突出显示-菜单。我也很难将栏置于页面中心或只是一个 div 容器,我尝试了其他建议但无法将其置于中心位置。

非常感谢

【问题讨论】:

  • 所以根据你的菜单工作正常,你只希望它在'CENTER'对吗?
  • 我尝试了居中对齐,但它也将所有子菜单文本移到了中心,但是
  • 标签的宽度需要更改:)

标签: html css menu navigation


【解决方案1】:

你可以试试下面的代码。

#menu
{
    margin: 10px auto;
    width: 100%;
    display: inline-block;
    list-style-type: none;
}

#menu ul
{
    list-style:none;
    position:relative;
    margin:0;
    padding:0;
    text-align: center;
}

#menu ul a
{
    display:block;
    color:#000000;
    text-decoration:none;
    font-size:15px;
    line-height:32px;
    padding:0 15px;
    font-family:arial, verdana, sans-serif;
}

#menu ul a:hover
{
    color:#FFFFFF;
}

#menu ul a:active
{
    color:#FFFFFF;
}


#menu ul li
{
    position:relative;
    /*float:left;*/
    display: inline-block;
    margin:0;
    padding:0
}

#menu ul li.current-menu-item
{
    background:#70B51E;
    color: #FFFFFF;
}

.current-MENU,
#menu ul li:hover
{
    background:#70B51E;
    color:#ffffff;
}


#menu ul li:hover > a,
.current-MENU > a{
color: #fff !important;
}


#menu ul ul
{
    display:none;
    position:absolute;
    color:#FFFFFF;
    top:100%;
    left:0;
    background:#fff;
    padding:0
}

#menu ul ul li
{
    float:none;
    color:#FFFFFF;
    width:200px
}

#menu ul ul a
{
    line-height:120%;
    color:#FFFFFF;
    border-top: 4px solid #70B51E;
    border-bottom: 4px solid #70B51E;
    border-right: 4px solid #70B51E;
    border-left: 4px solid #70B51E;
    background:#70B51E;
    padding:10px 15px
}

#menu ul ul a:active
{
    line-height:120%;
    color:#FFFFFF;
    background:#70B51E;
    padding:10px 15px
}

#menu ul ul a:hover
{
    line-height:120%;
    color:#FFFFFF;
    background:#3F96A9;
    padding:10px 15px
}

#menu ul ul ul
{
    top:0;
    left:100%
}

#menu ul li:hover > ul
{
    display:block;
    color: #FFFFFF;
}
<div id="menu">
<ul>
  <li class="current-MENU -item"><a href="#">MENU </a></li>
  <li><a href="#">MENU 1</a>
    <ul>
      <li><a href="#">SUB-MENU 1</a></li>
      <li><a href="#">SUB-MENU 2</a></li>
      <li><a href="#">SUB-MENU 3</a></li>
    </ul>
  <li><a href="#">MENU 2</a>
    <ul>
      <li><a href="#">SUB-MENU 1</a></li>
      <li><a href="#">SUB-MENU 2</a></li>
    </ul>
  </li>
  <li><a href="#">MENU 3</a></li>
  <li><a href="#">MENU 4</a></li>
</ul>
</div>

【讨论】:

  • 由于某种原因,我无法获取您所在的页面,而停留在白色文本中。这是以下摘录;
  • HOME
  • #menu ul li.current-menu-item { 背景:#70B51E;颜色:#FFFFFF!重要;它只是不起作用。
  • 我相信,您在 html 和 css 中使用了不同的类名。确保 html 和 css 中的类名相同。在您的代码中,您使用了类名“current-MENU”,而在 css 中,样式被赋予类“current-menu-item”。请检查并告诉我
  • 非常感谢。虽然我现在已经改变了它,它会改变背景颜色,但它仍然不会改变字体颜色为白色。
  • 尝试替换 #menu ul li:hover > a, .current-MENU > a{ color: #fff !important; } with #menu ul li:hover > a, #menu ul li:hover > a:link,#menu ul li:hover > a:active, #menu ul li:hover > a:visited, #menu ul li:hover > a:hover, .current-MENU > a, .current-MENU > a:link, .current-MENU > a:active, .current-MENU > a:visited, .current-MENU > a:hover{ color: #fff !重要; }
  • 如果这对你有用,请将我的答案标记为问题的解决方案:)
  • 【解决方案2】:
        add in css 
        #menu ul li.-item
        {
            background:#70B51E;
            color: #FFFFFF;
        }
        #menu ul li:hover a {
            color: #fff;
        }
    
    And also check this link
    

    jsfiddle

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签