【发布时间】:2015-12-18 03:34:23
【问题描述】:
在开始预览代码之前,我想让您更接近我当前所处的环境。我正在尝试生成一个包含不同 tab 部分的菜单,例如“开始、组、帮助等。”。让我们只选择居中的 tab-button、Groups.. 悬停时看起来像这样:
只要我输入一个伪元素,即我用来构建那些 45deg 边的伪元素,父 div 的悬停样式就会关闭。但是伪影仍然可见:
注意:我无法操作 html 标记。我可以对网站进行更改的唯一方法是编辑css.. 让我们看看代码:
#header .nav-item {
width: 33.33%;
}
#header .nav-item:hover::before,
#header .nav-item:hover::after {
display: inline-block;
position: absolute;
height: 50px;
width: 50px;
}
#header .nav-item:hover::before {
margin-left: -25px;
background-image: -webkit-gradient(
linear, right top, left bottom,
color-stop(0.5, #111),
color-stop(0.5, #fff));
/* vendor specific gradients ... */
}
#header .nav-item:hover::after {
margin-left: -25px;
background-image: -webkit-gradient(
linear, right top, left bottom,
color-stop(0.5, #fff),
color-stop(0.5, #111));
/* vendor specific gradients ... */
}
让我们转到...
我的问题
我可以选择伪元素状态:hover 还是有任何其他可用的方法来实现干净的过渡,同时通过项目?到目前为止,我尝试选择 .nav-item::after:hover、.nav-item::before:hover、.nav-item:hover::after:hover 和 .nav-item:hover::before:hover ...
没有任何效果,所以我目前无法强制伪元素在悬停时执行某些操作..
提前谢谢...
编辑 - 解决方案
要强制伪元素在悬停时不可见,只需使用z-index 在其上方放置另一个元素(例如a、'span'、...)。
谢谢@Merijn van Wouden ;)
【问题讨论】:
标签: css css-selectors pseudo-element pseudo-class