javascript - Hide::before 悬停在事件元素上

标签 javascript jquery html css

我有这样的结构:

<nav>
    <ul>
        <li><a href="javascript:void(0)" class="menuitem active">see all projects</a></li>
        <li><a href="javascript:void(0)" class="menuitem">about</a></li>
        <li><a href="javascript:void(0)" class="menuitem">contact</a></li>
    </ul>
</nav>

.active 可以是三者之一时(它只是突出显示用户所在的页面)。 问题是我正在通过 ::before 选择器在 .active 元素上创建一个“箭头”突出显示,我希望如果用户将鼠标悬停在任何元素上, ::before 仅在悬停时消失。

它是这样的:

http://i.imgur.com/cIZXHEN.png

悬停时看起来像这样(看到问题了吗?现在悬停时有两个箭头,我希望箭头只位于悬停的箭头上并将其隐藏在 .active 上,在 mouseout 之后箭头返回到 .active 一个):

http://i.imgur.com/JTLKNFK.png

这是我的CSS:

header nav {
  float: right;
  font-family: 'avenir_lt_std65_medium';
  text-transform: uppercase;
  text-align: right;
  font-size: 8px;
  line-height: 12px;
  letter-spacing: 2px;
  color: #000000;
}
header nav ul li a.active::before {
  content: ">> ";
}
header nav ul li a:hover:before {
  content: ">> ";
}

最佳答案

这会成功吗?

header nav {
  float: right;
  font-family: 'avenir_lt_std65_medium';
  text-transform: uppercase;
  text-align: right;
  font-size: 8px;
  line-height: 12px;
  letter-spacing: 2px;
  color: #000000;
}
nav ul li a.active::before {
  content: ">> ";
}
nav ul:hover li a::before {
  content: none;
}
nav ul li a:hover:before {
  content: ">> ";
}
<nav>
    <ul>
        <li><a class="menuitem active">see all projects</a></li>
        <li><a class="menuitem">about</a></li>
        <li><a class="menuitem">contact</a></li>
    </ul>
</nav>

关于javascript - Hide::before 悬停在事件元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549995/

相关文章:

javascript - 多过滤器选择器查询

javascript - 响应式导航栏不会显示

javascript - 如何隐藏一个页面上的按钮并在不同页面上显示该按钮?

javascript - 如何将背景图像作为上标应用于 HTML 元素

javascript - 单击 j-query 按钮时选择列表文本不会更改

jquery - 将多个 jQuery/DOM 元素添加到单个 jQuery 对象

javascript - 如何在同一行将不同的语言更改为不同的字体大小而无需每个容器都是唯一的?

javascript - 检查是否所有选择选项都被禁用,除了一个

html - 无法在div中垂直居中文本

javascript - Jquery 函数 - 元素上