2013-10-11 14 views
2

div1向左浮動,div2出現在它旁邊。如果我想在div2上添加10px的左邊距,爲什麼我需要將它設置爲60px?即。 div1 + 10px的寬度。我可以使div2相對於div1,所以我可以將div2左邊距設置爲10px?我可以使浮動div邊際值相對嗎?

<!DOCTYPE html> 
<html> 
    <head> 
     <style> 
      #div1{ 
       width: 50px; 
       float: left; 
      } 
      #div2 { 
       margin-left: 60px; 
      } 
      #div1, #div2{ 
       border: 1px solid red; 
      } 
     </style> 
    </HEAD> 
    <BODY> 
     <div> 
      <div id="div1"> 
       div1 
      </div> 
      <div id="div2"> 
       div2 
      </div> 
     </div> 
    </BODY> 
</html> 

JSfiddle

回答

0

您需要添加float: left爲# DIV2。

+0

display:inline-block有什麼區別?和float:left; ? – user1491819

+0

這個答案似乎更正確。使用內聯塊有一些怪癖。例如,您無法精確控制一系列內嵌塊元素之間的差距。例如。你不容易有一個0px的差距。 http://css-tricks.com/fighting-the-space-between-inline-block-elements/ – user1491819

+0

您需要使用-ve邊距來糾正在不同瀏覽器中可能不同的間隙。 – user1491819

2

浮標打破元件出文檔流。你需要在60像素加上左邊的理由是有明確左側浮動的div ...如果你想他們兩個內嵌,我會使用建議:

 #div1{ 
      width: 50px; 
      display: inline-block; 
     } 
     #div2 { 
      margin-left: 10px; 
      display: inline-block; 
     } 
     #div1, #div2{ 
      border: 1px solid red; 
     } 
+0

以上是否導致邊界崩潰的div2? – user1491819