问题
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.
回答1:
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);
回答2:
Use this:
width: calc(100% / 3 * 2);
As far as I know CSS calc doesn't convert fractions to percentages.
回答3:
Just for completeness, I think this should work as well, just for this case:
width: calc(200% / 3);
Yet untested.
回答4:
You need to multiply by 100
to convert it into %
div{
background-color: red;
width: calc( (2/3)*100% );
}
<div>yeah</div>
回答5:
In your example, you have no units defined, and the width of a certain element cannot be unitless. You would need to convert the width into pixels, percentages or similar unit.
For example:
width: calc(100px / 2) // the result will be pixels
width: calc(100% / 2) // the result will be in percentages
width: calc(100 / 2 * 1px) // the result will be in pixels
There is a great article explaining the calc() function here.
来源:https://stackoverflow.com/questions/44806076/css-calc-number-division