If I use a calculator, 2/3
is 0.6666666667
which is about 67%
. However if I try to do the same thing with css calc I get an error.
width: calc(2 / 3);
Is there a working way for this?
I don't think it looks that good writing it like 0.666666666667
. Any ideas are welcome.
calc() is a native CSS way to do simple math right in CSS as a replacement for any length value (or pretty much any number value). It has four simple math operators: add (+), subtract (-), multiply (*), and divide (/).
The calc() function takes a single expression as its parameter, with the expression's result used as the value. The expression can be any simple expression combining the following operators, using standard operator precedence rules: + Addition.
A solution for you would be to use CSS calc, it has good browser support and fixes your issue in quite a simple manner. The only downside here is that it doesn't calculate the padding-top in % but you simply cannot calculate padding-top in % from the height of the element unless you use javascript.
The problem is with calc(2 / 3)
you will just get a number without an unit. CSS can't display just a number as width. This would be like if you set width: 3
which obviously doesn't work.
If you want the percentage you will need to muliply it by 100%
width: calc(2 / 3 * 100%);
and if you really want the result in pixels multiply it by 1px
width: calc(2 / 3 * 1px);
Use this:
width: calc(100% / 3 * 2);
As far as I know CSS calc doesn't convert fractions to percentages.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With