Usando Calc puede accomplised con bastante facilidad utilizando la función de fin de la cita:
$variable: 100%
height: $variable //for browsers that don't support the calc function
height:unquote("-moz-calc(")$variable unquote("+ 44px)")
height:unquote("-o-calc(")$variable unquote("+ 44px)")
height:unquote("-webkit-calc(")$variable unquote("+ 44px)")
height:unquote("calc(")$variable unquote("+ 44px)")
rendirá como:
height: 100%;
height: -moz-calc(100% + 44px);
height: -o-calc(100% + 44px);
height: -webkit-calc(100% + 44px);
height: calc(100% + 44px);
También puede intentar crear el mixin como se sugirió anteriormente, pero hacer la mía ligeramente diferente:
$var1: 1
$var2: $var1 * 100%
@mixin calc($property, $variable, $operation, $value, $fallback)
#{$property}: $fallback //for browsers that don't support calc function
#{$property}: -mox-calc(#{$variable} #{$operation} #{$value})
#{$property}: -o-calc(#{$variable} #{$operation} #{$value})
#{$property}: -webkit-calc(#{$variable} #{$operation} #{$value})
#{$property}: calc(#{$variable} #{$operation} #{$value})
.item
@include calc(height, $var1/$var2, "+", 44px, $var1/$var2 - 2%)
rendirá como:
.item {
height: 98%;
height: -mox-calc(100% + 44px);
height: -o-calc(100% + 44px);
height: -webkit-calc(100% + 44px);
height: calc(100% + 44px);
}
Esto es perfecto No tenía idea de que pudiera pasarle una propiedad a un mixin pero ahora tiene sentido – secretformula
No se limite a agregar prefijos de cualquier manera. Opera no admite 'calc()' en este momento, pero cuando lo hace, es bastante probable que lo haga sin prefijos. – cimmanon
Si está utilizando [Bourbon] (http://www.bourbon.io), hay una [calc mixin] (https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/ css3/_calc.scss) integrado directamente. –