文本widthis在chrome和firefox中有所不同

时间:2015-09-28 12:05:08

标签: jquery html google-chrome internet-explorer firefox

提前致谢。

JS小提琴链接:http://jsfiddle.net/XpPpR/46/

这是我的代码,

<script src="Hide_3d5b7aca/Hide/jquery-1.9.1.min.js"></script>
<div id="measureText"/>
   <script>
       $(function () {
           text = "1 000 000";
           font = {
               color: '#282828', fontFamily: 'Segoe UI', fontStyle: 'Normal', fontWeight: 'regular', opacity: 1, size: '13px'
           };
           var element = $(document).find("#measureTex");
            if (element.length == 0) {
               var textObj = document.createElement('text');
               $(textObj).attr({ 'id': 'measureTex' });
               document.body.appendChild(textObj);
           }

            textObj.innerHTML = text;

           if (font != null) {
               textObj.style.fontSize = (font.size > 0) ? (font.size + "px") : font.size ;
               textObj.style.fontFamily = font.fontFamily ;
           }

           alert(textObj.offsetWidth);

       });
  </script>

textwidth在chrome和firefox中显示为57,但在IE中它返回为56。 为什么?以及如何解决这个问题..

1 个答案:

答案 0 :(得分:2)

在不同的浏览器中无法获得相同的文本宽度。这是因为字体渲染系统非常不同,特别是comapre OS X和Windows。

更多信息:http://www.smashingmagazine.com/2012/04/a-closer-look-at-font-rendering/