div中不需要的文本行

时间:2012-07-09 10:01:11

标签: html css

所以,我遇到了一个问题,我一直想弄清楚。我在DOM结构中得到了一行额外的文本(或者看起来似乎如此),据我所知,浏览器会添加这些文本。这种情况发生在我运行代码的所有浏览器中(IE8,IE9,Chrome 20,Firefox 11),我想删除它。

这是我的HTML:

<div id="wrapper">
    <div id="inner">
        <div class="item">
            content
        </div>
    </div>
</div>​

这是我的CSS:

#wrapper {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.item {
    float: left;
    width: 171px;
    position: relative;
    background: #fc0;
}

这是一个显示我的问题的jsfiddle:http://jsfiddle.net/henrikandersson/wMg2m/

正如您所看到的,顶部和黄色项目之间存在间隙,据我所知,这是由#inner-div上方不应该存在的文本行引起的。

3 个答案:

答案 0 :(得分:12)

在包装器div的结束&65279;之后,您有一个不可见的控制命令>。它实际上是HTML编码的byte order mark

只需删除那个就可以了。

请参阅this updated fiddle

答案 1 :(得分:5)

<div id="wrapper">后面有一个不可见的特殊字符。

这样可行:

<div id="wrapper">
    <div id="inner">
        <div class="item">
            s
        </div>
    </div>
</div>

我重新输入了您的代码,这解决了问题。

问题可能是复制和粘贴的代码,也可能是文本编辑器。

Notepad++是最好的免费Windows文本编辑器。

我通过在Notepad ++中用ANSI编码的文本文件粘贴代码来发现问题。 ANSI无法显示该字符,因此它更改为?

答案 2 :(得分:1)

添加

#inner { float:left; }

http://jsfiddle.net/wnhqY/