有没有办法在SASS中获得当前元素的设置宽度?

时间:2014-06-20 15:11:07

标签: css sass

Tp中心绝对定位元素我必须将当前宽度分成两半并将其设置为负左边距值。但我不想做:

#elem {
    width: 75px;
    margin-left: -(75/2)px;
}

从现在起如果我更新宽度,我必须在2个地方更新它。相反,是否可以在SASS中以某种方式引用当前选择器的设置宽度?

Psudo代码:

#elem {
    width: 75px;
    margin-left: -(this.width/2)px;
}

2 个答案:

答案 0 :(得分:3)

我打算提出与@GEspinha相同的方法,但是如果你要在许多不同的元素上做这个,那么使用mixin可能是值得的:

@mixin absolute-width($width) {
    margin-left: -($width/2);
    width: $width;
}

#elem {
    @include absolute-width(75px);
}

#elem2 {
    @include absolute-width(50px);
}

答案 1 :(得分:2)

这样做最简单灵活的方法是创建一个变量并在类中使用它。 仍然无法在SASS中定位元素的特定属性值。

$var: 75px;

#elem {
    width: $var;
    margin-left: -($var/2);
}