I am working on a sass stylesheet in which I wish to use the calc
element to dynamically size some content. As the calc
element has not been standardized, I need to target calc()
, -moz-calc()
, and -webkit-calc()
.
Is there a way for me to create a mixin or function that I can pass an expression to so that it will generate the required tags that can then be set as a width
or height
?
It would be a basic mixin with an argument, thankfully the expressions are not browser-specific within the supported scope:
Will render as
You may want to include a "default" value for when calc is not supported.
Compass offers a shared utility to add vendor prefixes for just such an occasion.
Using calc can be accomplised pretty easily using the unquote feature:
will render as:
You can also try creating the mixin as suggested above, but I do mine slightly different:
will render as:
Another way to write it:
I think this is more elegant way.