2010-11-26 81 views
0


欲allign DIV塊以這樣馬納:Allign柱

 
+-----+------+ 
|first|second| 
|  |  | 
+  +------+ 
|  |third | 
|  |  | 
+-----+------+ 

但下面的代碼allign它在其他方式:

<html> 
    <head> 
     <style> 
      .common 
      { 
       border: 1px solid black; 
       float: left; 
      } 

      #first 
      { 
       background: red; 
       height: 100px; 
       width: 50px; 
      } 

      #second 
      { 
       background: green; 
       height: 50px; 
       width: 50px; 
      } 

      #third 
      { 
       background: yellow; 
       height: 50px; 
       width: 50px; 
      } 
     </style> 
    </head> 
    <body> 
     <div class="common" id="first">first</div> 
     <div class="common" id="second">second</div> 
     <div class="common" id="third">third</div> 
    </body> 
</html> 

我不會使用絕對定位。
有沒有其他方法可以做到這一點?

謝謝你的提前。

回答

1

您可以將第二個和第三個包裝在容器div中,然後首先浮動容器。

#first { 
    float: left; 
} 

#container { 
    float: left; 
} 

... 

<div id="first></div> 
<div id="container"> 
    <div id="second"></div> 
    <div id="third"></div> 
</div> 
0

浮動第一次離開

,並給予第一

1

這裏寬度的第二和第三保證金亞去:http://jsfiddle.net/4CD2s/

#first { 
    background: green; 
    float: left; 
    height: 300px; 
    width: 100px; 
} 
#second { 
    background: grey; 
    height: 100px; 
    margin-left: 105px; 
    width: 100px; 
} 
#third { 
    background: grey; 
    height: 100px; 
    margin: 5px 0 0 105px; 
    width: 100px; 
} 

<div id="first">First</div> 
<div id="second">Second</div> 
<div id="third">Third</div> 
1

你可以使用一個包裝DIV寬度固定並溢出:隱藏以防止塌陷

活例如:http://jsbin.com/isuse4

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org 
    /TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<style type="text/css"> 
#wrapper {width:150px; overflow:hidden;} 
.common { 
    border: 1px solid black; 
    float: left; 
} 
#first { 
    background: red; 
    height: 100px; 
    width: 50px; 
} 
#second { 
    background: green; 
    height: 50px; 
    width: 50px; 
} 
#third { 
    background: yellow; 
    height: 50px; 
    width: 50px; 
} 
</style> 
</head> 

<body> 
<div id="wrapper"> 
    <div class="common" id="first">first</div> 
    <div class="common" id="second">second</div> 
    <div class="common" id="third">third</div> 
</div> 
</body> 
</html> 
1

我知道要做到這一點,最簡單的方法是使用4個容器:

+-----+------+ 
|first|second| 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
+-----+------+ 

然後再創建兩個第二容器內:

+-----+--------+ 
|first|second | 
|  | +----+ | 
|  | |3rd | | 
|  | | | | 
|  | +----+ | 
|  | |4th | | 
|  | | | | 
|  | +----+ | 
|  |  | 
+-----+--------+ 

漂浮第1和se條件。不要給第二個容器任何視覺風格,只需定位它。根據需要將第3個和第4個容器放置在第2個容器內。 「內部」容器上沒有額外的邊距,它們將填充第二個容器的空間,因此第二個容器實際上是一個無形的指南,可以幫助將它們放在他們去的地方,只是定位。

我更喜歡這種方法,因爲它避免了任何邊緣的瑕疵,並且您只需調整小容器(第3個和第4個)的位置即可調整第2個位置,它們隨之移動一致。