1

我想有一个属性引用它的“自我”,我不知道如何在 LESS 中做到这一点。哎呀,我很难制定问题的措辞。基本上我想完成以下工作:

a:visited {
    color: lighten(color, 10%);
}

Where a'scolor可能因容器而异div

所以我可能有以下选择器:

div#blue-text a {
    color: #00F;
}

div#black-text a {
    color: #000;
}

一旦我访问链接,我应该分别有一个浅蓝色和灰色的链接文本。

注意:这是一个非常简单的场景,但我有更复杂的需求,如果有一个干净的方法可以做到这一点,那么我会是一个快乐的露营者。

4

1 回答 1

2

基本上,由于您还将在 LESS 中设置父级的颜色,因此您会将颜色存储在一个变量中并引用它。

这是一个例子:

@column1Color: #aaaaaa;
@column2Color: #bbbbbb;
@column3Color: #cccccc;

.columns {
    // set the color of the first column
    .column:nth-child(1) {
        background-color: @column1Color;
        a {
            color: lighten(@column1Color, 10%);
        }
    }
    // set the color of the second column
    .column:nth-child(2) {
        background-color: @column2Color;
        a {
            color: lighten(@column2Color, 10%);
        }
    }
    // set the color of the third column
    .column:nth-child(3) {
        background-color: @column3Color;
        a {
            color: lighten(@column3Color, 10%);
        }
    }
}

除非您“告诉”它,否则 LESS 不会知道超链接的颜色是什么。浏览器也是如此,除非它执行所有链接的 CSS 文件,否则它不会知道颜色。

因此,您需要的(如果我理解正确的话)无法按照您的想法实现。

于 2012-12-10T04:34:37.173 回答