将鼠标悬停在< li& gt;</li& gt;也可以更改文本颜色... CSS技巧? [英] make hover on &lt;li&gt;item&lt;/li&gt; change text colour too... CSS trick?
问题描述
我有一些菜单栏,目前,将鼠标悬停在
I have some menu bars, and at the moment, the Background changes to black when hovering over an
<li>content</li>
,当鼠标悬停在上方时,文本从黑色变为白色.
and the text changes from black to white when it is hovered over.
我需要这样做,以便在整个< li> content</li>
都悬停时(而不只是在突出显示文本时),文本颜色会改变.
I need to make it so the text color changes when the whole <li>content</li>
is hovered, not just when the the text is highlighted.
这是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>
如果能提供帮助,请先感谢
Thanks in advance if you are able to help
致谢
亨利
推荐答案
我建议将鼠标悬停在'A'元素而不是LI元素上.
I'd recommend making the hover work on the 'A' elements instead of the LI elements.
为了使LI元素可点击,您需要将其中的"A"元素设置为display:block(或inline-block),因为默认情况下,"A"标记为display:inline.
In order to make the LI elements flly clickable you need to set the 'A' element within it to display:block (or inline-block) as 'A' tags are display:inline by default.
所以...
<ul>
<li><a href="#">My Link</a></li>
</ul>
ul li a {
display:block;
}
ul li a:hover, ul li a:focus {
color:red;
}
这篇关于将鼠标悬停在< li& gt;</li& gt;也可以更改文本颜色... CSS技巧?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!