2015-11-03 23 views
0

我有這樣的塊,設在順序A,B,C:動態尺寸塊後的絕對位置如何?

blocks grid

塊 「A」 和 「C」 position: absolute。我需要在塊「A」之後顯示塊「C」,但塊「A」的高度可能很高,我不能使用屬性top。下面是代碼的示例:

.wrapper { 
    position: relative; 
    width: 100%; 
    height: 1000px; 
} 

.block-1 { 
    position: absolute; 
    left: 50%; 
    width: 300px; 
    height: 200px; 
    background: red; 
} 

.block-2 { 
    width: 300px; 
    height: 400px; 
    background: yellow; 
} 

.block-3 { 
    position: absolute; 
    left: 50%; 
    width: 300px; 
    height: 400px;  
    background: green; 
} 

https://jsfiddle.net/skriming/xn47v51k/

+0

我改變像塊B的位置,然後阻止和塊的HTML? – Mitul

+0

不,這是問題所在。 – skriming

+0

使用js查找塊'a'的高度,並添加此值以阻止'c's頂部 –

回答

1

只是代替你的CSS以下之一:

.wrapper { 
    position: relative; 
    width: 100%; 
    height: 1000px; 
} 

.block-1 { 
    position: relative; 
    left: 50%; 
    width: 300px; 
    height: 200px; 
    background: red; 
} 

.block-2 { 
    float:left; 
    position:absolute; 
    top:0; 
    width: 300px; 
    height: 400px; 
    background: yellow; 
} 

.block-3 { 
    position: relative; 
    left: 50%; 
    width: 300px; 
    height: 400px; 
    background: green; 
} 
0

這裏是解決方案,但它結合的CSS + jquery的

我加入浮留給B嵌段

.block-2{float: left} 

和頂使用jQuery定位到C塊

var aHeight = $(".block-1").height(); 
$(".block-3").css("top",aHeight); 

如果因爲某種原因無法使用jquery,請告訴我。

+0

你沒有關閉最後一行代碼,但是在這裏你可以去https://jsfiddle.net/ywku3hvg/ –