2012-08-06 36 views
10

如何使元素與position:absolute動態高度僅佔用垂直空間使用css?有什麼可以使用容器和顯示器的技巧嗎?元素上的垂直空間位置:絕對

+0

'位置:absolute'意味着它們不會在流動佔空間。請發佈你想要做的事情的例子 – 2012-08-06 23:47:46

+0

我使用職位在js中從右向左設置了一系列div,但結構可以是任何事情。我想知道是否可能有一個不太合法的技巧來讓它使用垂直空間(可能不是) – Yisela 2012-08-06 23:50:36

回答

9

不幸的是,根據定義,使用絕對定位意味着您的元素不再佔用空間。所以不,只有通過CSS才能做到這一點。

你當然可以使用jQuery(或純javascript)來完成這一點。我怎麼做它有一個space元素旁邊的每個垂直元素。將空間元素和絕對定位的垂直元素都放在相對定位的div中。在頁面加載時,更改空間元素的height以匹配垂直元素的高度。

3

position: absolute意味着它們不佔用流動空間。但是,您不必使用保證金製作動畫,可以使用float讓元素佔用任何空間,並製作每個元素position:relative

div.animate-me { 
    width: 300px; 
    margin: 20px; 
    float: left; 
    left: -1000px; // Make them start offscreen 
    position: relative; 
    border: 1px solid red; 
    visibility: hidden 
}​ 

$('div').css().animate({ 
    left: 0 
}); 

SAMPLEhttp://jsfiddle.net/qxzzX/1/