将CSS onhover更改为onclick

时间:2012-06-01 10:46:59

标签: css click hover

我正在使用以下CSS:

.main-navigation {
    clear: both;
    display: block;
    float: left;
    width: 100%;
}
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}
.main-navigation li {
    float: left;
    position: relative;
}
.main-navigation a {
    display: block;
    text-decoration: none;
}
.main-navigation ul ul {
    -moz-box-shadow: 0 3px 3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.2);
    box-shadow: 0 3px 3px rgba(0,0,0,0.2);
    display: none;
    float: left;
    position: absolute;
    top: 1.5em;
    left: 0;
    z-index: 99999;
}
.main-navigation ul ul ul {
    left: 100%;
    top: 0;
}
.main-navigation ul ul a {
    width: 200px;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
}
.main-navigation ul ul :hover > a {
}
.main-navigation ul ul a:hover {
}
.main-navigation ul li:hover > ul {
    display: block;
}
.main-navigation li.current_page_item a,
.main-navigation li.current-menu-item a {
}

/* Small menu */
.menu-toggle {
    cursor: pointer;
}
.main-small-navigation .menu {
    display: none;
}

控制基于列表的多级导航系统,其HTML看起来像这样:https://gist.github.com/2851105

我想知道的是,如何更改使菜单显示为点击事件的悬停事件?这可以单独用CSS完成,或者我需要介绍一些javascript吗?

谢谢。

4 个答案:

答案 0 :(得分:4)

对于css而言,就“点击”事件而言,你所希望的最好的方法就是使用a:active属性设置样式。这将在单击特定链接时调用,但它无法执行您要查找的内容。它只能将视觉样式应用于相关元素。

CSS纯粹是一种造型语言。您将需要JavaScript来实现更多目标。

答案 1 :(得分:1)

我担心这不能仅使用CSS来完成。您需要在这里使用JavaScript。

答案 2 :(得分:1)

您需要使用JavaScript或jQuery来控制点击事件。使用CSS无法完成。

jQuery .click()

答案 3 :(得分:0)

您应该能够根据自己的需要调整以下问题的答案

CSS: set color for selected row in a table