Home > Article > Web Front-end > Details of percentages - Container size_Experience exchange
Because the smallest unit that can be displayed on the screen is 1px, some choices must be made for lengths with numbers like 773*50%=386.5.
Test page, the screenshot mark width of some browsers is also included
IE: Calculated by rounding.
Firefox: The calculated value ignores the decimal part, but allocates the extra length to each element inside. If there is only 1px more, such as 2*386=772, the remaining 1px will go to one of the elements, and the first element will be allocated first. For example, when 773px is allocated to two 50%, the result will be: 387px and 386px, allocated to four At 25%, the results are: 194px, 193px, 193px and 193px; and for a few more px, such as 773*33.3%=257.409, 773*33.33%=257.6409, due to the different ignored decimals, the distribution principle It's also different. I can't find relevant information. Here is my guess. Three elements are allocated according to rounding. The rounded ones are allocated to both sides first, the five-rounded ones are allocated to the first two first, and the three elements are allocated to three. Above the elements, the extra parts are allocated freely. I can't find a rule, but the first one will definitely be allocated.
There are some strange things about FF. Firefix test page. The 1024 width will not be automatically allocated, maybe because the outer layer also has decimals, resulting in 1px not being allocated, then test Firefox
Opera & Safari2: The decimal part of the percentage is ignored when calculating, and the calculated value ignores the decimal part , if the element inside is larger than the calculated width, it will not cause subsequent elements to wrap.
Netscape & Mozilla: Ignore decimals after calculation. The extra part is a bit similar to Firefox, but the extra part is displayed more transparently, and it is weird, such as 33.33%*3=99.99% which is less than 100%, but greater than 100%, it’s a strange browser. Fortunately, not many people use it, so don’t worry too much about these two browsers.
The test is not completed. Friends who are interested can help with the test. There is a separate test page. If anyone knows the reason, please tell me