使用更少的/CSS/mixin并从类传递值

使用更少的/CSS/mixin并从类传递值,css,less,Css,Less,我有一个css的小片段,我想使用transform,然后在其中添加rotate,但是失败了。。。我做错了吗?如果我做错了这件事,我就不那么抱歉了 CSS: 混合: .transform(@string){ -webkit-transform: @string; -moz-transform: @string; -ms-transform: @string; -o-transform: @string; } .rotate (@de

我有一个css的小片段,我想使用transform,然后在其中添加rotate,但是失败了。。。我做错了吗?如果我做错了这件事,我就不那么抱歉了

CSS:

混合:

.transform(@string){
    -webkit-transform:  @string;
    -moz-transform:     @string;
    -ms-transform:      @string;
    -o-transform:       @string;
}

.rotate (@deg) {
    -webkit-transform: rotate(@deg);
    -moz-transform:      rotate(@deg);
    -ms-transform:       rotate(@deg);
    -o-transform:        rotate(@deg);
}

按照上面设置的方式,基本上是将整个旋转混合传递到变换混合中。如果它真的知道如何解析,那么最终会得到相当混乱的代码。相反,您可以使用top mixin并将rotate传递到其中。这是一种更好的方法,因为它允许您使用多个转换(这是一种非常常见的用法)。下面是一个例子:

.transform(@string){
  -webkit-transform:  @string;
  -moz-transform:     @string;
  -ms-transform:      @string;
  -o-transform:       @string;
}

.class {
  &::before {
    .transform(rotate(45deg));
  }
}
如果您想在将来调用rotate和translate,也可以添加translate

.class {
  &::before {
    .transform(translateY(-50%) rotate(45deg));
  }
}

请改用自动刷新器。对不起,我该怎么做?我真的是个新手。提前谢谢。或者这是为了一个作业的编码测试,所以我必须自己做,所以不能使用插件或类似的东西,这似乎可以消除错误,所以我不需要为rotate创建/调用mixin来生成.transform中的跨浏览器css。那么?不,前缀都包含在transform属性中。旋转不是它自己的属性。您还可以检查哪些前缀是必需的。我认为实际上只需要webkit和ms。是的,刚从生成的源代码中注意到:)几乎拥有了它,然后哈哈,谢谢你的帮助。
.class {
  &::before {
    .transform(translateY(-50%) rotate(45deg));
  }
}