html - 将鼠标悬停在 <li>item</li> 上也会更改文本颜色... CSS 技巧?

标签 html css html-lists

我有一些菜单栏,目前,将鼠标悬停在

 <li>content</li>

当鼠标悬停在上面时,文本会从黑色变为白色。

我需要让它在整个 <li>content</li> 时改变文本颜色悬停,而不仅仅是文本突出显示时。

这是CSS

 <style type="text/css">
    body{margin:0px; font-family:Tahoma, Sans-Serif; font-size:13px;}
    /* dock */
    #dock{margin:0px; padding:0px; list-style:none; position:fixed; top:0px; height:100%; 
          z-index:100; background-color:; left:0px;}
    #dock > li {width:40px; height:120px; margin: 0 0 1px 0; background-color:#;
                 background-repeat:no-repeat; background-position:left center;}

    #dock #Menu {background-image:url(Menu.png);}

    #dock > li:hover {background-position:-40px 0px;}

    /* panels */
    #dock ul li {padding:5px; border: solid 0px #879b17;}
    #dock ul li:hover {padding:5px;
background:#879b17 url(item_bkg.png) repeat-x;
border: solid 0x #879b17;
font-weight: bold;
color: #000;
 }
    #dock ul li.header, #dock ul li .header:hover {
background:#fff url(header_bkg.png) repeat-x;
border:solid 10px #879b17;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
color: #FFF;
font-weight: bold;
text-align: center;
 }

    #dock > li:hover ul {
display:block;
color: #FFF;
 }
    #dock > li ul {position:absolute; top:0px; left:-180px;  z-index:-1;width:180px; display:none;
                   background-color:#fff; border:solid 10px #000; border-top-left-radius: 20px; border-top-right-radius: 20px; padding:0px; margin:0px; list-style:none;}
    #dock > li ul.docked { display:block;z-index:-2;}

    .dock,.undock{}
   .undock {display:none; }
    #content {margin: 10px 0 0 60px; }

     body,td,th {
color: #333;
 }
 a:link {
color: #000;
text-decoration: none;
 }
 a:visited {
text-decoration: none;
color: #000;
 }
 a:hover {
text-decoration: underline;
color: #FFF;
 }
 a:active {
text-decoration: none;
color: #FFF;
text-align: center;
 }
     #dock #Menu .free .header .dock {
color: #FFF;
font-weight: bold;
 }
     #dock #Menu .free .header .undock {
color: #FFFFFF;
 }
</style>

这是 HTML

 <li id="Menu">
             <ul class="free">
               <li class="header"><a href="#" class="dock">DOCK</a><a href="#"      class="undock">UN-DOCK</a></li>
                 <li> </li>
               <li class="header">CAMPAIGNS</li>
                 <li><a href="#">Link Data</a></li>
                 <li><a href="#">Search</a></li>                
                 <li><a href="#">Summary Sheet</a></li>                                
               <li><a href="#">Add New Client</a></li>
               <li class="header">LINKS</li>
                 <li><a href="#">Record Transactions</a></li>
               <li class="header">REPORTS</li>
                 <li><a href="#">Handover Sheets</a></li>
                 <li><a href="#">Handover Summary</a></li>
               <li class="header" >MAINTENANCE</li>
                 <li><a href="#">Logout</a></li>
                 <li><a href="#">Manage Users</a></li>                
           </ul>
         </li>

如果您能提供帮助,在此先感谢您

问候

亨利

最佳答案

我建议让悬停在“A”元素而不是 LI 元素上起作用。

为了使 LI 元素可快速点击,您需要将其中的“A”元素设置为显示: block (或内联 block ),因为“A”标签默认显示:内联。

所以...

<ul>
 <li><a href="#">My Link</a></li>
</ul>

ul li a {
 display:block;
}

ul li a:hover, ul li a:focus {
 color:red;
}

关于html - 将鼠标悬停在 <li>item</li> 上也会更改文本颜色... CSS 技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13233878/

相关文章:

html - CSS/HTML : Create a glowing border around an Input Field

html - 如何解决 BOOTSTRAP 中背景图片和文字环绕图片的问题

jquery - 输入占位符每隔几秒更改一次

html - 如何将所有 li 元素移动到 <ul> 元素的左侧?

javascript - 使用 jQuery 切换大量页面项目很慢

javascript - 使用 z-index 和 jquery 显示内联 block

css - 使用 CSS 的物理屏幕像素

javascript - 当一个 div 完全加载时删除另一个 div

jQuery on() 仅在 $(document).ready 的主体中声明时触发

jquery - 使用 jQuery 切换无序列表项