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

Posted lcchuguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空格&nbsp在不同浏览器中显示距离不一致问题解决方法相关的知识,希望对你有一定的参考价值。

  在ie、firefox、chrome浏览器上显示的效果不太一样,主要是前面的空格宽度不同。



网上资料说
不同的浏览器会有不同的默认字体。一般 IE默认字体都是宋体,而firefox和chrome的默认字体是Times New Roman,
宋体是字符等宽的字体,但Times New  Roman不是字符等宽的字体,由于浏览器默认字体的不同。
空格符 在不同的浏览器以下的显示宽度也不同。

比如以下代码分别以IE和chrome进行測试
<table>
    <tr>
	<td>我是第一行</td>
    </tr>
    <tr>
	<td>nbsp;nbsp;nbsp;nbsp;我是第二行</td>
    </tr>
    <tr>
	<td>nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;我是第三行</td>
    </tr>
</table>
在chrome显示效果例如以下:
技术分享

IE9下显示效果例如以下:
技术分享

能够看出两个&nbsp;在chrome中占一个汉字的宽度,而在IE中四个&nbsp;才占一个汉字的宽度。
解决的方法:
一、改动页面的编码格式<meta http-equiv="content-type" content="text/html; charset=gbk">
和页面的编译方式(myeclipse中)

技术分享
然后IE右键改动编码显示格式即可
技术分享

二、(推荐)在空格那一行设置一下字体,把字体设置成随意一种字符等间距的字体即可了。
如:
<div style="font-family: ‘宋体‘">nbsp;nbsp;nbsp;nbsp;我是第二行</div>

PS:nbsp;替换为&nbsp;

假设style="font-family: ‘宋体‘" 实现不了,可将"宋体"改为"Times New Roman"

作者:itmyhome

以上是关于空格&amp;nbsp在不同浏览器中显示距离不一致问题解决方法的主要内容,如果未能解决你的问题,请参考以下文章

为你的网页中添加一些空格&nbsp;

&nbsp; &ensp; &emsp; &thinsp;&zwnj;&zwj; 6种空白空格的区别

JS 中如何输出空格

块元素&行内元素

关于浏览器空格( )的兼容问题

kongge