在LESS中使用变量名作为函数

时间:2016-05-04 01:17:49

标签: less

使用LESS,是否可以使用'变量'函数名称?比方说,我有很多使用变暗函数的元素,但我想(在另一个使用相同样式表的实例中)使用lighten函数。是否可以将函数本身定义为单个变量?就像PHP中的一个人一样?

例如

.element1 {color: darken(@color1, @percent);}
.element2 {color: darken(@color2, @percent);}
.element3 {color: darken(@color3, @percent);}

成为

.element1 {color: lighten(@color1, @percent);}
.element2 {color: lighten(@color2, @percent);}
.element3 {color: lighten(@color3, @percent);}

改变一行代码?

1 个答案:

答案 0 :(得分:0)

如果你声明你是混合的话,你可以使用混合作为函数......

public void onDataChange(DataSnapshot snapshot) {
  for (DataSnapshot direction: snapshot.getChildren()) {
    DataSnapshot waypoints = direction.child("waypoints");
    for (Waypoints waypoint: waypoints.getChildren()) {
        double lat = waypoint.child("latitude").getValue(Double.class);
        double lon = waypoint.child("longitude").getValue(Double.class);
        LatLng latLng = new LatLng(lat, long);
        latLngList.add(latLng);
    }
}

并且可以按照您的预期使用混合......

.adjustLight(@c, @p){
    color: darken(@c, @p);
}

这将允许您更改.element1 {.adjustLight(@color1, @percent);} .element2 {.adjustLight(@color2, @percent);} .element3 {.adjustLight(@color3, @percent);} mixin,而不会影响其余的css声明。有关Parametric MixinsMixins as functions

的在线文档中有很好的示例