<%@ 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>
当我将鼠标悬停在它上面时,背景颜色会立即更改,但字体颜色保持不变,直到我将鼠标悬停在文字上方。
简而言之,我希望我的菜单行为与stackoverflows菜单类似(问题标签用户......)
任何帮助将不胜感激。
答案 0 :(得分:5)
我会这样做:
将<a>
代码设置为display:block
从<li>
删除填充(将其设为padding:0px
)
将填充重新添加到<a>
代码padding:7px 10px 7px 10px;
将background-color:#ffcc00;
添加到#Menu a:hover
摆脱#Menu li:hover
答案 1 :(得分:3)
需要添加#Menu li:hover a {color:White;}
当a
悬停时,这会为li
设置白色。
答案 2 :(得分:1)
提供此css属性:
#Menu a {display:block}
#Menu a:hover,active {color:#text-color;background:#background-color;}
答案 3 :(得分: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;
}
此方法的唯一缺点是列表中的元素不会被正确填充。
<强>演示强>