2012-07-09 24 views
7

所以,我遇到了一個我一直在想的問題。我在我的DOM結構中得到了一行額外的文本(或者看起來似乎),據我所知,它是由瀏覽器添加的。這發生在我運行代碼的所有瀏覽器(IE8,IE9,Chrome 20,Firefox 11)中,我想將其刪除。div中不需要的文本行

這是我的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上面的一行文本引起的,不應該在那裏。

+0

'wrapper'裏面有空白。 – 2012-07-09 10:07:35

+0

是的,我希望它消失;) – 2012-07-09 10:09:03

回答

12

你有一種無形的控制命令&65279;您的包裝div的閉幕>以下。它實際上是HTML編碼的byte order mark

只要刪除那一個,你會沒事的。

請參閱this updated fiddle

+0

啊,那就是那個角色是什麼......我沒有麻煩檢查! :-) – 2012-07-09 10:16:05

+0

太棒了,謝謝! – 2012-07-09 10:16:37

5

你在<div id="wrapper">後面有一個特殊字符,它是不可見的。

所以此工程:

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

我重新輸入,你有,這解決了問題的代碼。

問題可能是複製粘貼代碼或您的文本編輯器。

Notepad++是最好的免費的Windows文本編輯器。

我通過在Notepad ++中將代碼粘貼到ANSI編碼的文本文件中發現問題。 ANSI不能顯示該字符,因此它會更改爲?

+0

感謝您的幫助Shaquin。 – 2012-07-09 10:17:08

+0

不客氣。 – 2012-07-09 10:18:29