这是我正在处理的示例代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>Untitled Page</title>
<style type="text/css">
.menu
{
border: 1px solid #C0C0C0;
color: #FFFFFF;
background-color: #66A6CC;
font-family: Cambria;
text-align: justify;
font-size: medium;
width: 200px;
padding:8px;
padding-left:0px;
text-indent:10px;
display:inline-table;
}
.menu:hover
{
background-color: #FFFFA6;
color: #000000;
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="float:left; margin:10px;">
<asp:Menu ID="Menu1" runat="server" StaticMenuItemStyle-CssClass="menu" >
<Items>
<asp:MenuItem Text="Menu row" Value="menurow"
NavigateUrl="Default2.aspx" ></asp:MenuItem>
<asp:MenuItem Text="Menu row" Value="menurow1"
NavigateUrl="Default2.aspx" ></asp:MenuItem>
<asp:MenuItem Text="Menu row" Value="menurow2"
NavigateUrl="Default2.aspx" ></asp:MenuItem>
</Items>
</asp:Menu>
</div>
</form>
</body>
</html>
悬停有问题。 Here it is.
整个单元格应该变成黄色,但由于填充而没有变成黄色。
编辑:我删除了填充,但同样的事情又发生了。我认为这是因为显示类型。我尝试了大多数显示类型,但它们对于菜单来说不方便。
解决方案:Chrome 在渲染某些组件时出现问题。网上有解决办法,请谷歌“ASP.NET chrome菜单问题”。
最佳答案
我通过复制您的 HTML 代码让它工作。我唯一改变的是在“.menu:hover”类中添加了一个缺少的右括号。
我在 Firefox 和 Internet Explorer 8 中测试了该页面。
填充不应导致黄色悬停出现任何问题。您使用的是什么浏览器?
关于c# - 带有填充的菜单项的悬停问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963762/