仅引用LESS中父选择器的一部分

时间:2015-09-29 19:27:38

标签: css less

我是LESS的新手,所以很有可能这个答案显而易见,我只是没有看到它。

我有一种情况,我希望能够将某些类和伪类的组合添加到元素,然后根据这些情况设置其兄弟元素的样式。我正在尝试使用嵌套和&符号来重复兄弟元素。

这是我开始的。它有效,但要求我多次重复sibling元素:

base {
    & + sibling {
        /* sel: base + sibling */
    }

    &.class1 {
        & + sibling {
            /* sel: base.class1 + sibling */
        }

        &.class2 + sibling {
            /* sel: base.class1.class2 + sibling */
        }
    }

    &.class3 + sibling {
        /* sel: base.class3 + sibling */
    }
}

以下是为了避免不断重复sibling而无效的尝试:

sibling {
    base + & {
        /* sel(expected): base + sibling
           sel(actual):   base + sibling
           SUCCESS */
        &.class1 {
            /* sel(expected): base.class1 + sibling
               sel(actual): base + sibling.class1
               FAILURE */

            &.class2 {
                /* sel(expected): base.class1.class2 + sibling
                   sel(actual): base + sibling.class1.class2
                   FAILURE */
            }
        }

        &.class3 {
            /* sel(expected): base.class3 + sibling
               sel(actual): base + sibling.class3
               FAILURE */
        }
    }
}

我明白为什么它不起作用,但我没有看到一种方法在没有重复sibling的情况下做到这一点,看起来它应该是可能的。比我聪明的人看到我失踪的东西?

0 个答案:

没有答案