首页 > 代码库 > 空格&nbsp在不同浏览器中显示距离不一致问题解决方法

空格&nbsp在不同浏览器中显示距离不一致问题解决方法

  在ie、firefox、chrome浏览器上显示的效果不太一样,主要是前面的空格宽度不同。
 
网上资料说
不同的浏览器会有不同的默认字体,一般 IE默认字体都是宋体,而firefox和chrome的默认字体是Times New Roman,
宋体是字符等宽的字体,但Times New  Roman不是字符等宽的字体,因为浏览器默认字体的不同,
空格符 在不同的浏览器下面的显示宽度也不同。
 
例如以下代码分别以IE和chrome进行测试
[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <table>  
  2.     <tr>  
  3.     <td>我是第一行</td>  
  4.     </tr>  
  5.     <tr>  
  6.     <td>nbsp;nbsp;nbsp;nbsp;我是第二行</td>  
  7.     </tr>  
  8.     <tr>  
  9.     <td>nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;我是第三行</td>  
  10.     </tr>  
  11. </table>  
在chrome显示效果如下:


IE9下显示效果如下:
 
可以看出两个&nbsp;在chrome中占一个汉字的宽度,而在IE中四个&nbsp;才占一个汉字的宽度。
解决办法:
一、修改页面的编码格式<meta http-equiv="content-type" content="text/html; charset=gbk">
和页面的编译方式(myeclipse中)
然后IE右键修改编码显示格式即可
 
二、(推荐)在空格那一行设置一下字体,把字体设置成任意一种字符等间距的字体就行了。
如:
[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <div style="font-family: ‘宋体‘">nbsp;nbsp;nbsp;nbsp;我是第二行</div>  

PS:nbsp;替换为&nbsp;

欢迎加入JAVA技术交流群:74955800