element + element cant access:before伪

时间:2017-10-27 13:59:10

标签: html css css3 sass css-selectors

我有一种情况,我有两个元素在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; }

编辑:https://codepen.io/riogrande/pen/vWExqN

1 个答案:

答案 0 :(得分:0)

好的答案是css确实在访问:before元素。事情就是当我想用鼠标访问下拉列表时我不再真正盘旋触发器了。当我将悬停放在父母身上时,我一直在盘旋触发器(整个父母)。