【发布时间】:2017-10-30 18:11:14
【问题描述】:
我有两个元素在 DOM(邻居)中处于同一级别。当我悬停在 DOM 之前的元素时,我希望显示它下面的元素。我还想访问元素的子元素 Im 显示并显示其 :before 伪元素。
SCSS
&__wrapper {
display: table;
table-layout: fixed;
&:hover {
+ .filter-time__shortcuts {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: scale(1) translateY(0);
.filter-time__shortcuts-list {
transform: scale(0.5);
&:before {
display: block;
}
}
}
}
除了显示:before 伪元素外,一切正常。出于某种原因,它无法访问它,但它可以访问.filter-time__shortcuts-list。
当我将:hover 移动到两个元素的父元素时,它们都是子元素,并且不需要+ 选择器,它可以工作。这是怎么回事?
编译的 CSS
.filter-time__wrapper:hover + .filter-time__shortcuts .filter-time__shortcuts-list:before {
display: block; }
【问题讨论】:
-
请添加完整的测试用例,例如包含 HTML 并添加代码片段。
-
除非我们能看到您的 HTML,否则我们无法判断您的 CSS 选择器是对还是错。
-
你在 :before 元素上有
content样式吗?即使它是空白的,这也是必需的。 -
@delinear 是的,正如我所说,当我将鼠标悬停在父级上时这是有效的
标签: html css sass css-selectors