左侧变量较小

时间:2014-05-22 14:41:19

标签: css less

我承认我相对较新。在玩它的同时让我的网站尽可能地动态,我试图使用更少的变量,所以如果我不得不改变一些东西,我可以在一个文件中做到。

我尝试定位元素时遇到了一个问题。例如,我有一个当前位于左侧的按钮,但将来我可能想将其移动到右侧。通常情况下,您可以调用left:0;right:0;

有没有办法让它左转,或右转变量?

我的css看起来像这样

.previous{
    position:fixed; 
    left:0; //The left is what I want to declare somewhere else
    top:@header-padding; 
    height:@side-height; 
    font-size: @button-side-font !important;
}

我尝试了类似

的内容
@{prevPos}: left;

然后调用

@prevPos: 0;

但它刚刚停止加载我的应用程序。

2 个答案:

答案 0 :(得分:1)

Mixins(更新)

您是否尝试使用mixin

看起来像这样:

.previous {

    .previous-position();

    font-size: @button-side-font !important;
    height:    @side-height;
    position:  fixed;
    top:       @header-padding;
}

.previous-position() {
    left: 0;
    // right: 0;
}

要左右交换,请更改mixin中的注释。

多班级方法(原始答案)

我实际上采用的方法不同。我没有将按钮样式定位在同一个CSS规则中,而是在子类中定位。

.previous {
    font-size: @button-side-font !important;
    height:    @side-height;
}

.previous-left,
.previous-right {
    position: fixed;
    top:      @header-padding;
}

.previous-left {
    left: 0;
}

.previous-right {
    right: 0;
}

然后你的按钮看起来像这样:

<a href="#" class="previous previous-left">I am on the left</a>
<a href="#" class="previous previous-right">I am on the right</a>
<a href="#" class="previous">I am not fixed</a>

通过这种方式,您可以非常快速地更新页面,而无需撕开LESS文件,这样可以使您的样式更易于重复使用。

答案 1 :(得分:0)

另一个答案是如何让它以可变的方式工作&#34;使用老式的方法(故意使用最保守的语法,因此它甚至可以用于古老的编译器):

@previous-position: right;

.previous {
    position:  fixed;
    margin:    1em;
    font-size: 400%;

    .-(left)  {left:  0}
    .-(right) {right: 0}
    .-(@previous-position);
}