如何让绝对定位的元素水平居中?我需要将当前宽度除以2并设置为负的左边距值。但我不想这样做:
#elem {
width: 75px;
margin-left: -(75/2)px;
}
现在我如果更新宽度,就必须在两个地方进行更新。那么,在SASS中是否有一种方式可以引用当前选择器的设置宽度呢?
伪代码:
#elem {
width: 75px;
margin-left: -(this.width/2)px;
}
我本来也想建议与@GEspinha相同的方法,但如果您要在许多不同元素上执行此操作,使用mixin可能是值得的:
@mixin absolute-width($width) {
margin-left: -($width/2);
width: $width;
}
#elem {
@include absolute-width(75px);
}
#elem2 {
@include absolute-width(50px);
}
最简单灵活的实现方式是创建一个变量并在类中使用它。在SASS中仍然无法定位元素的特定属性值。
$var: 75px;
#elem {
width: $var;
margin-left: -($var/2);
}