Css 继承和层次结构在更少,什么';怎么了?

Css 继承和层次结构在更少,什么';怎么了?,css,twitter-bootstrap,less,Css,Twitter Bootstrap,Less,为什么在层次结构中组合继承时,less不包含所有属性 我正在尝试从引导中继承.btn元素。以下代码不起作用: .custom-class-wrapper { .custom-class { .btn; // Will not inherit all the properties from .btn; } } 以下代码起作用: .custom-class-wrapper { } .custom-class { .btn; // Will inherit a

为什么在层次结构中组合继承时,less不包含所有属性

我正在尝试从引导中继承.btn元素。以下代码不起作用:

.custom-class-wrapper {
    .custom-class {
        .btn; // Will not inherit all the properties from .btn;
    }
}
以下代码起作用:

.custom-class-wrapper {
}
.custom-class {
    .btn; // Will inherit all properties from .btn;
}

据我所知,在您的示例中,这两种方法之间不应该有任何区别。我也同意@harry的观点,这两种方法都会生成所有(预期的)属性。此外,在上面的评论中@seven Phase max是正确的,但所提到的限制似乎并不适用于您的用例

您应该尽可能在问题中解释哪些属性缺失,或者哪些属性没有按预期发挥作用

请注意,
.btn
类仅适用于
a
按钮
元素

引导还定义了
.btn
的关系,例如
按钮组中的关系。less
。这些属性仅在
.btn
类包装在
.button组中时应用。你的混血不会继承这些关系。可以通过使用来修复前面的可能错误。还请注意带有扩展功能的
all
关键字的用法

例如,考虑包含以下代码的
less/badges.less

  .badge {
  // Quick fix for badges in buttons
  .btn & {
    position: relative;
    top: -1px;
  }
  }
对于上述
.custom类:extend(.btn){}不生成任何输出,但
。自定义类:extend(.btn all){}生成:

.custom-class .badge {
  position: relative;
  top: -1px;
}

我看不出有这样的问题发生,伙计。这两种方法都获得了
.btn
的所有属性。在这种情况下,最常见的缺失是“引导类不打算用作mixin”(有关更多详细信息,请参阅)。因此,尽管在上述两种情况下,
.custom class wrapper.custom class
确实包含全局定义的
.btn
类的所有属性,但这并不能使
.custom class
在HTML中表现相同,因为此代码不会为中使用的
.btn
类的几个(数十个)选择器创建所有样式。Ok,引导并不像我第一眼看到的那样可扩展。谢谢你的链接。