2011-03-01 148 views
4
<%@ Page Language="C#" AutoEventWireup="true" Theme="SF" CodeBehind="ULLITest.aspx.cs" Inherits="ClickDoors_WebApp.ULLITest" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <style type="text/css">  

     #Menu 
     { 
      padding:0; 
      margin:0; 
      list-style-type:none; 
      font-size:13px; 
      color:#717171; 
      width:100%; 
     } 

     #Menu li 
     { 
      border-bottom:1px solid #eeeeee; 
      padding:7px 10px 7px 10px; 
     } 

     #Menu li:hover 
     { 
      color:White; 
      background-color:#ffcc00; 
     } 

     #Menu a:link 
     { 
      color:#717171; 
      text-decoration:none; 
     } 

     #Menu a:hover 
     { 
      color:White; 
     } 
    </style> 
</head> 

<body> 

    <form id="form1" runat="server"> 

    <div> 
     <ul id="Menu"> 
      <li><a href="#">Internal Doors</a></li> 
      <li><a href="#">Prefinished Internal Doors</a></li> 
      <li><a href="#">External Doors</a></li> 
      <li><a href="#">Internal Pair [French Doors]</a></li> 
      <li><a href="#">External Pair [French Doors]</a></li> 
      <li><a href="#">Custom Size Doors</a></li> 
      <li><a href="#">Door Frames</a></li> 
      <li>Test</li> 
     </ul> 
    </div> 

    </form> 
</body> 
</html> 

当我在它悬停背景颜色会立即更改,但直到我将鼠标悬停在文字的字体颜色保持不变。CSS UL李垂直菜单

总之我希望我的菜单行为类似于stackoverflows菜单(问题标签用户....)

任何帮助将不胜感激。

回答

5

我会做这样的:

  1. 设置你的<a>标签display:block

  2. <li>的取出填充(使之成为padding:0px

  3. 重新添加填充到您的<a>标签padding:7px 10px 7px 10px;

  4. 添加background-color:#ffcc00;#Menu a:hover

  5. 摆脱#Menu li:hover

+0

非常感谢詹姆斯 – 2011-03-02 10:01:26

+0

干杯Faizal,没有probs! – james6848 2011-03-02 10:25:34

1

给这个CSS属性:

#Menu a {display:block} 
#Menu a:hover,active {color:#text-color;background:#background-color;} 
+0

与其他解决方案的问题,就是链接将显示为悬停,即使它仍然不可连接,因此可能导致不良的用户体验。 – zimok 2011-03-01 15:05:41

1
#Menu li 
{ 
    border-bottom:1px solid #eeeeee; 
} 

#Menu li a:hover 
{ 
    color:White; 
    background-color:#ffcc00; 
} 

#Menu a:link 
{ 
    color:#717171; 
    text-decoration:none; 
    display:block; 
    padding: 7px 10px; 
}   

这种方法的唯一缺点是在列表中的元素的arent锚不会被正确地填充。

演示

http://jsfiddle.net/loktar/F6UGv/