为什么我的空DIV渲染为屏幕上的点?

时间:2011-11-23 16:45:53

标签: html css

我有<div>&nbsp;</div>,其中包含以下样式:

background-position: 0 bottom;
background-repeat: no-repeat;
font-size: 0.01em;
overflow: hidden;

据我所知,这应该不会出现在网站上,而是呈现为类似于句号的点。

font-size更改为大于0.01em的任何值都会使点消失。

(div没有做任何事情,但最近在客户网站上发现了,我们希望了解这是怎么发生的?)

是什么原因导致它呈现为点?或者渲染一下?

2 个答案:

答案 0 :(得分:3)

白色空间将显示。它被认为有内容,因此会显示。在这种情况下,作为一个点。

&nbsp;是一个不间断的空白区域,浏览器的处理方式与普通的空白区域不同。例如,如果您有以下元素:

<span>&npsp;&nbsp;&nbsp;</span>

它将在元素中使用3个空格进行渲染。也就是说,将在跨度中呈现相当于三个&nbsp;个字符宽度。新开发人员经常使用它来缩进文本而不是使用CSS,但我们知道的更好,不要我们;)

另一方面,以下内容:

<span>   </span>

将呈现为span元素,并且某些浏览器会认为它的内容为空并且不会呈现,除非它被赋予明确的heightwidth(在这种情况下为display)或者borderpadding会给它一个可计算的widthheight

答案 1 :(得分:0)

我猜它会出现,因为你有&amp; NBSP;在里面,这是一个空白角色。