【问题标题】:Is it possible to have the menu link color change on the table hover for an asp.net menu control?是否可以在 asp.net 菜单控件的表格悬停上更改菜单链接颜色?
【发布时间】:2012-03-19 19:28:00
【问题描述】:

我使用的是 ASP.net 菜单,当我将鼠标悬停在菜单项的表格内时,我会更改表格列上的背景颜色,但除非我将鼠标悬停在链接文本本身上,否则链接文本颜色不会改变。

是否可以在表格悬停时更改链接文本颜色?

下面的示例显示了发生的情况。

请原谅丑陋的 CSS:

.TopStaticSelectedStyle
{
    cursor: pointer;
    font-size: 11px;
    font-family: Verdana;
}

.TopStaticMenuStyle a,
.TopStaticMenuStyle a:visited,
.TopStaticMenuStyle a:active
{
    color: #ffffff;     
    text-decoration: none;
    font-weight: bold;
    font-family: Verdana;
}
.TopStaticMenuStyle a:hover 
{
    color: #000000;     
    text-decoration: none;
    font-size: 11px;        
    font-weight: bold;
    font-family:  Verdana;  
}

.TopStaticMenuItemStyle td
{       
    padding: 0px 12px 0px 12px;
    text-align: center;
    background-color: #6c85b0;
    height: 18px;
    border-top: solid 1px #012754;
    border-bottom: solid 1px #012754;
    border-left: solid 1px #012754;
    border-collapse:collapse;
}

.TopStaticHoverStyle
{
    font-weight: normal;
    font-family: Verdana;
}

.TopStaticHoverStyle td
{
    padding: 0px 12px 0px 12px;
    text-align: center;
    background-color: #ffffff;
    height: 18px;
    border-top: solid 1px #012754;
    border-bottom: solid 1px #012754;
    border-left: solid 1px #012754;
        border-collapse:collapse;
        color: #000000;
}  

【问题讨论】:

    标签: css asp.net


    【解决方案1】:

    我废弃了你的 css 并从头开始,但你应该能够从 this 获得这个想法。

    所以一些基本的表格html:

    <table>
        <tr>
            <td>
                <a href="#">Test</a>
            </td>
            <td>
                <a href="#">Test 2</a>
            </td>
        </tr>
    </table>​
    

    然后是css:

    a {
        color:#000;
    }
    td {
        border:solid 1px black;
        background:#234567;
        padding:5px 10px;
    }
    td:hover {
        background:#eee;
    }
    td:hover a {
        color:#ccc;
    }
    td a:hover {
        color:#777;
    }
    ​
    

    这里的关键是td:hover a 选择器,您需要使用它来更改td 悬停时的颜色。

    【讨论】:

    • 另一种方法是制作a 标签display: block; 并在其上进行所有颜色切换。此处显示:jsfiddle.net/2xdwJ/3
    • 轰沙卡拉卡!!约翰,你成功了。谢谢!马修,我试过你的方法,但 asp.net 菜单有点错误。我看到它在您的示例中确实有效
    猜你喜欢
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 2017-03-18
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多