<p>这几天,我被一个js问题困扰到癫狂了!</p><p>事情是这样的,我之前写了个功能非常复杂的纯jquery代码的前端gridview控件,实现了大量的功能和效果,在一些项目里也用得很好。</p><p>最近有个项目,样式做了调整,把浏览器默认的box-sizing属性改成了border-box,然后界面和控件出了很多问题。</p><p>于是我开始着手解决这些问题。正当我以为都解决得差不多的时候,发现了一个诡异的现象,就是当我用鼠标拖动grid边框,做放大缩小的调整时,</p><p>发现无论我是放大还缩小操作,grid都是执行的缩小操作,但当我调试时,一步一步的操作,又没有问题!</p><p>好吧,我们都知道,计算机是不会主动出错的,问题肯定出在代码上。。。。</p><p>于是我试图从各个角度解释。。。各种调试,各种重算。。。。然并卵。。。都没发现问题!!!</p><p>直到今天上午,终于找到根源了:</p><p>那就是,在box-sizing:border-box情况下,jquery的$().css({width: xxx, height:yyy})这种方式不行!!!会造成事实上的尺寸减少!!!</p><p>应该改成$().width(xxx). height(yyy)!!!</p><p>具体jquery的css实现方法以及深层次的原因,这里我们就不探讨了,我只想告诉大家,</p><p>在我们的应用开发环境还没准备好的时候,大家不要轻易使用box-sizing:border-box了,虽然这是个很好的渲染模式,能带来各种便利,</p><p>但是,没办法,我们不得不受限于历史和现状!!</p><p> </p><p> <br>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/142431.html