2013-08-28 23 views
0

有一個父DIV和兒童的div寬度和高度不同。我如何使用子類的最大有效性浮動父div,而不會損失絕對定位元素的空間。我如何自動化妝的div父DIV

的例子:

http://jsfiddle.net/KSbjT

我需要什麼樣的方向去挖掘?

HTML

<div class="parent" style="width: 500px; height: 500px; border: 1px solid #000; background: red; position: relative;"> 
    <div style="width: 100px; height: 200px; border: 1px solid #000; background: blue;"></div> 
    <div style="width: 200px; height: 500px; border: 1px solid #000; background: green;"></div> 
    <div style="width: 100px; height: 200px; border: 1px solid #000; background: yellow;"></div> 
    <div style="width: 100px; height: 200px; border: 1px solid #000; background: aqua; position: absolute; top: 200px"></div> 
</div> 

CSS

.parent div { 
    float: left; 
} 
+0

什麼將是填充偏好,自上而下的?左右 ? –

+0

左右,我認爲 – user2560165

+0

那麼這將是一個相當複雜的algoritm,但我的第一次啓動會得到孩子的div的所有軸(x,y)和切開我的所有父DIV與可能性,爲每個的我會掃描的空間(左 - 右),如果它有一個div,如果不是,我會追加它的「區域」,直到它擊中另一個div(右)或父div的邊緣(右),並向下一個空格開始追加該區域的過程,直到我再次碰到另一個右側障礙或前一次掃描的界限。 –

回答

0

我不完全理解你問什麼,但我想是這樣,如果你移動你可能需要改變你的絕對定位的div相對定位父母,所有親屬都會相對移動。

+0

首先,我認爲所有的孩子divs必須絕對定位)我不知道接下來是什麼 – user2560165

+0

好吧你希望發生什麼?你想要父母的div或孩子div做什麼? – BenM

+0

子div必須填寫父母最大有效而沒有任何損失的空間 – user2560165

0

當使用float和對應於他人的div的定位,那麼你想看看

position: relative; 

也就是說,div的不被屏幕上的固定位置的控制,而不是它的對應DIV位置在它的旁邊。

我建議您將html和css分開,以便您的html不包含任何樣式屬性,而是創建更多用您的css控制的html類/ id,這樣做會更漂亮,更易於閱讀:

<div class="parent"> 
    <div id="blueGuy"></div> 
    <div id="greenGuy"></div> 
    <div id="yellowGuy"></div> 
    <div id="aquaGuy"></div> 
</div> 

Wherea,例如,blueGuy應該是這樣的

#blueGuy 
{ 
    width: 100px; 
    height: 200px; 
    border: 1px solid #000; 
    background: blue; 
} 

更妙的是分類看,你可以重複使用被添加入類,例如與邊界和寬度/高度。