小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
您的位置:首页 > 前端开发 > Htm l+ Css > html4 + hss2

html utf-8 编码空格宽度 非两个空格=一个汉字

分类: html4 + hss288个赞

今天做个页面,有个问题,就是空格和汉字的宽度问题,网上收集资料,如下:

解决一:多打几个半角的空格,和汉字对应,资料如下

一直以为是utf-8是宽字节的表示法,一般一个汉字是3个字节表示,所以utf-8的网页的空格是三个空格的宽度等于一个汉字的宽度。现在才知道不是,是字体所造成的,utf-8默认的是英文字体,对汉字的处理不是很友好,把默认字体设置为宋体就可以结局这个问题了,就像gb2312那样两个空格对应一个汉字。

<div style="font-family: '宋体', Simsun;">

用户名:<br />

登&nbsp;&nbsp;录

</div>

这只是个示例,如果想把真个网页的默认字体都默认为宋体可设置body的默认字体为宋体,这样就ok了。。。

转载自:http://www.dotcoo.com/post-27.html

解决二:使用全角的空格

一、使用全角空格

全角空格被解释为汉字,所以不会被被解释为HTML分隔符,可以按照实际的空格数显示。

二、使用空格的替代符号

替代符号就是在需要显示空格的地方加入替代符号,这些符号会被浏览器解释为空格显示。

空格的替代符号有以下几种:

名称编号描述
&nbsp;&#160;不断行的空白(1个字符宽度)
&ensp;&#8194;半个空白(1个字符宽度)
&emsp;&#8195;一个空白(2个字符宽度)
&thinsp;&#8201;窄空白(小于1个字符宽度)

可以用名称或编号作为空格的替代符号,名称必须小写,末尾的“;”不能省略。

如:

欢&nbsp;&nbsp;迎&nbsp;&nbsp;光&nbsp;&nbsp;临!

显示效果为:欢  迎  光  临!

三、使用CSS的 white-space 属性

CSS的white-space属性用于设置文本中空格的处理方式,当white-space属性取值为pre时,浏览器会保留文本中的空格和换行,这样你就可以直接在文本中使用空格和回车了。

这种方法特别适合于在网页中显示程序代码。比如:显示一段C程序代码。

<div style="white-space:pre"> int sub(int x,int y) { int z; if( x&gt;y ) z = x-y; else z = y-x; return z; } </div>

显示效果为:

int sub(int x,int y) { int z; if( x>y ) z = x-y; else z = y-x; return z; }

使用HTML的<pre>标签也可以达到类似的效果,但<pre>标签有一些不太好的特性,不如使用CSS的white-space属性更方便。

四、使用CSS的 letter-spacing 属性

CSS的letter-spacing属性用于设置文本中字符之间的间隔,它的取值可以是一个带单位的长度值,浏览器会在字和字之间设置指定长度的空白。比如:

<div style="letter-spacing:30px">欢迎光临!</div>

显示效果为:

欢迎光临!

注意,如果文本中有英文单词,则空白会加在字母之间,而不是单词之间。

五、使用CSS的 word-spacing 属性

CSS的word-spacing属性用于设置文本中单词之间的间隔,它的取值可以是一个带单位的长度值,浏览器会在单词和单词之间设置指定长度的空白。比如:

<div style="word-spacing:30px">Happy new year!</div>

显示效果为:

Happy new year!

注意,HTML是以空格来区分单词的,它会把单词间的空白按指定长度显示。

六、使用CSS的 text-indent 属性

CSS的text-indent属性用于设置首行缩进,它的取值可以是一个带单位的长度值,浏览器会在段落的首行开始处设置指定长度的空白。比如:

<div style="text-indent:2em">欢迎光临!</div>

显示效果为:

欢迎光临!

说明:em 是一个相对长度单位,2em 表示要缩进两个字的距离。


转载自互联网,谢谢原创作者

小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> html utf-8 编码空格宽度 非两个空格=一个汉字