css - 将 CSS onhover 更改为 onclick

标签 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?

谢谢。

最佳答案

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

CSS 纯粹是一种样式语言。您将需要 JavaScript 才能实现更多目标。

关于css - 将 CSS onhover 更改为 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848840/

相关文章:

html - 如何找到网站使用的 css、颜色代码和其他编码

html - 右侧的大文字推到左侧的图像

Android 禁用 webview 输入

html - 将鼠标悬停在列表元素上时更改 div 中的文本

css - Wordpress 菜单三 Angular 形插入符号

css - 在 Ionic 4 中更改 CSS

jquery - 如何将点击函数放入回调函数中?

opencv - 有没有简单的方法可以查看图像每个点的强度?

Javascript slider 悬停时暂停功能

html - 我的 :hover selector is interrupted by text, 我该如何解决这个问题?