Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css “我如何替换?”&&引用;使用父选择器在较少的变量中?_Css_Less_Less Mixins - Fatal编程技术网

Css “我如何替换?”&&引用;使用父选择器在较少的变量中?

Css “我如何替换?”&&引用;使用父选择器在较少的变量中?,css,less,less-mixins,Css,Less,Less Mixins,我有一个较少的混音,就像这样: 我想知道是否可以更改符号,以便参数中的&可以扩展到父选择器,就像我在变量外部编写它一样 如果您在代码笔的CSS部分单击“查看编译”,您将看到&正被直接输出,如下所示: #section--collapsed, .section &.__collapsible .section--body { transition: transform ease 250ms; transform: scaleY(0); transform-origi

我有一个较少的混音,就像这样:

我想知道是否可以更改符号,以便参数中的
&
可以扩展到父选择器,就像我在变量外部编写它一样

如果您在代码笔的CSS部分单击“查看编译”,您将看到
&
正被直接输出,如下所示:

#section--collapsed,
.section &.__collapsible .section--body {
    transition: transform ease 250ms;
    transform: scaleY(0);
    transform-origin: top;
    position: absolute;
    width: 100%;
    z-index: 1;
}
#section--expanded,
.section &.__open .section--body {
    transform: scaleY(1);
    position: static;
}

我希望删除
(空格)和
(空格和符号)。

您可以获得想要的结果,但不能将
包含在参数mixin参数中。相反,您需要稍微移动它:

#toggle-container(
    @collapsed-selector: ~".__collapsible .section--body",
    @expanded-selector: ~".__open .section--body"
) {
    &@{collapsed-selector}:extend(#section--collapsed) {}
    &@{expanded-selector}:extend(#section--expanded) {}
}
我做了什么?
  • 我将
    &
    移出参数混合参数区域为什么?因为当您使用时,它“按原样使用,除此之外没有任何更改”。这意味着您的“与”将按原样保留,并且不允许按照您的需要引用父项。因此
  • 我将您的mixin参数中的符号和移出到您的ID的CSS中,这样LESS就可以引用孩子的父对象(并且可以按照所需的方式编译)

  • 不,这目前是不可能的(在选择器内插变量中,像“和”或“逗号”这样的特殊符号都没有任何特殊意义)。尽管在这种特殊情况下,我怀疑您是否需要它-因为您可以编写
    &@{collapsed selector}:extend(#section--collapsed){}
    (这当然会让传递一些后代选择器有点混乱,但如果将用例本身计算在内,它很可能永远不会发生).@Hynes在下面发布了一个合理的替代方案。这对我来说已经足够好了,如果我不需要附加到父选择器,我可以用空格开始该参数。谢谢
    #toggle-container(
        @collapsed-selector: ~".__collapsible .section--body",
        @expanded-selector: ~".__open .section--body"
    ) {
        &@{collapsed-selector}:extend(#section--collapsed) {}
        &@{expanded-selector}:extend(#section--expanded) {}
    }