I've set the width of a div to 330px by inspecting it with Chrome and then setting the width manually. When I read the width back with jQuery.css('width') it comes back as 329.77777767181396px.
Does anyone know why this is defaulting to floating point, or whatever it is, instead of an integer?
Thanks
解决方案
you can refer to the w3c specification below if you are really curious about this
the floating values are rounded when the page is rendered, the exact values are stored in the memory and used for its child element calculations. For example, if your div is 105.4999px it is rendered to 105px, it's child elements with a width of 50% will be calculated as .5*100.4999 instead of .5*100.
to complete the whole information about this they are called as subpixel and you can have further reading with John Resig's(jQuery creator) article about the problems with subpixels