1

我有一个网络应用程序(ASP.NET 2.0 C#)。在我的 Masterpage 上,我有一个菜单控件,并且我使用 css 样式表来设置菜单不同部分的样式。出于某种原因,当我将鼠标悬停在菜单上时,它会跳动一点。我认为当我将鼠标悬停在它上面时,边界会变得更大。

这是整个菜单的样式:

.menu
{
    width:110%;
    height:25px;
    border: 1px solid gray;
    text-align:center;
}

这是我对 StaticHoverStyle 的风格:

.staticMenuHover
{
    background-color:#CCCCCC;
    border-style:solid;
    border-color:#888888;  
    text-decoration: underline;
    border-width:thin;
}

我不知道为什么会这样,有人可以帮忙吗?

谢谢

4

3 回答 3

1

悬停类上的边框宽度设置为细,在我的测试中呈现为 2 像素边框。将其设置为 1 像素。

border-width:1px;

您还可以将第二类的边框规则折叠为一行,以使其与您的第一类保持一致,如下所示:

border:1px solid #888888;
于 2009-04-23T14:19:34.697 回答
0

它正在发生,因为你在你的文本下划线。尝试不使用文本装饰,我敢打赌它会解决您的问题。

于 2009-04-23T14:16:27.293 回答
0

您始终可以在链接中添加下划线(不是文本装饰)并调整填充。工作示例:

#menu ul li a {
    display: block;
    width: 95%;
    padding: 0px 2px 2px 4px;
    text-decoration: none;
    color: rgb(30%,30%,60%); background: transparent;
}
#menu ul li a:visited {
    color: rgb(50%,10%,100%); 
}
#menu ul li a:hover {
    color: #000;
    border-bottom: 2px solid #c63; 
    background: #fcf;
    padding-bottom: 0px; }

使这项工作起作用的是将 2px 底部填充更改为 0 px 并在同一规则中添加 2px 边框底部。颜色变化与手头的问题无关。

于 2009-04-23T16:43:29.567 回答