2017-05-09 103 views
0

當我使用float:left和另一個具有相對位置的div塊時,第二個塊的行爲意外 - 文本超出框和背景顏色。這裏發生了什麼?HTML:浮點數:左和相對位置

https://jsbin.com/merehowoxa/1/edit?html,output

 #first-section{ 

      color:black; 
      background-color:pink; 
      width:100px; 
      float:left; 

     } 

     #second-section{ 

      color:purple; 
      background-color:yellow; 
      width:100px; 
      height:100px; 
      position:relative; 
      left:500px; 
      top:200px; 

     } 
+0

我不明白爲什麼「#第二部分」是相對的? –

+0

爲什麼不能這樣? https://jsbin.com/mitozamoja/1/edit?html,output – AlwaysConfused

回答

0

當你使用浮動:左,它需要被清除。

添加這兩者之間的div的

<div id="first-section"> 

     <p>Text1</p> 
     <p>Text2</p> 

    </div> 

    <div style="clear:both"> 

    <div id="second-section"> 
+0

謝謝。然而,我只是把這些功能混合在一起玩,並想知道爲什麼輸出會像它那樣出現。你能解釋爲什麼會發生這種情況嗎?輸出與浮動罰款: – spheroid

+0

好吧,應用Float到任何元素引用下一個直接元素將坐在它旁邊。除非你明確聲明(使用clear:both)下一個元素不應該駐留在當前元素旁邊。 – Janak

+0

由於最後一個元素(#第二部分)被迫在第一部分旁邊浮動,因此內容正在從其父部分移出。 – Janak