最好的方式来代表在CSS中的1/3的100%?

我有一个很大的<div> ,里面有三个小的<div> ,内联。 他们每个都有33%的宽度,但是由于3 * 33%!= 100%会导致一些alignment问题。 什么是最好的方式来表示在这样的CSS完美的第三个? 也许只有33.33%?

现在,在现代浏览器中广泛支持 calc ,您可以使用:

 #myDiv { width: calc(100% /3); } 

或者如果你的浏览器不支持它,你可以使用它作为后备:

 #myDivWithFallback { width: 33.33%; width: calc(100% / 3); } 

你是否有利润的余地? 你可以在每栏中以30%的价格在中间栏的两边保留5%的保证金。

快速示例

 .col_1_3 { width: 33%; float: left; } .col_1_3:nth-of-type(even) { width: 34%; } 

最高分辨率屏幕是一个非生产NEC液晶屏幕 ,分辨率为2800×2100。 即使在这样的尺寸下,一个像素是屏幕宽度的0.0357%。 所以33.33%应该足够接近,直到5,000像素宽的屏幕成为常态。

John Resig对不同浏览器的子像素舍入做了一些研究 ,但是,根据你的三列来确定屏幕的宽度可能永远不会有完美的解决scheme。