处理不间断的空间:<p>&nbsp; </ p>与<p> </ p>

&nbsp; 是一个不间断的空间,它表示一个没有换行符的空白空间。

如果我使用

 <p>&nbsp;</p> 

我有两个通道之间的空间(更大的rest)。 如果我使用

 <p> </p> 

我只在两段之间有一条新的路线(没有rest)。 为什么?

在HTML中,只包含普通空白字符的元素被认为是空的。 包含正常空格字符的段落将具有零高度。 非破坏性空间是一种特殊的空白字符,不被认为是微不足道的,所以它可以用作非空段的内容。

即使您考虑段落上的CSS边距,由于“空”段的高度为零,因此其垂直边距将会崩溃 。 这导致它没有高度和没有边缘,使它看起来好像从来没有在那里。

解决方法如何? 在我的情况下,我把jQueryvariables中的textarea的值,并将所有"<p>&nbsp"更改为<p class="clear">并清除类具有一定的高度和边距,如下例所示:

jQuery的

 tinyMCE.triggerSave(); var val = $('textarea').val(); val = val.replace(/<p>&nbsp/g, '<p class="clear">'); 

val然后用新的val保存到数据库中。

CSS

 p.clear{height: 2px; margin-bottom: 3px;} 

您可以根据需要调整高度和边距。 由于'p'是一个display:block元素。 它应该给你预期的输出。

希望有所帮助!

如果我理解你的问题,这应该工作

&emsp-em空间; 这应该是一个非常广泛的空间,通常多达四个真实空间。 &ensp-the en space; 这应该是一个有点宽的空间,大致是两个固定的空间。 这将是一个狭窄的空间,比一个普通的空间更狭窄。

来源: http : //hea-www.harvard.edu/~fine/Tech/html-sentences.html