jQuery.css('width') with a floating point or decimal value

别来无恙 提交于 2020-01-05 04:24:07

问题


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


回答1:


you can refer to the w3c specification below if you are really curious about this

http://www.w3.org/TR/CSS21/syndata.html#length-units

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

http://ejohn.org/blog/sub-pixel-problems-in-css/



来源:https://stackoverflow.com/questions/25560401/jquery-csswidth-with-a-floating-point-or-decimal-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!