2012-07-18 106 views

回答

1

這是不容易的 '清晰的' 絕對定位的元素。我發現這樣做的一個方法是在jQuery中獲取高度,然後將該高度應用於容器。例如:

$('#container').height($('#ab_positioned').height());

+0

這是一個好主意,如果CSS沒有出現,我會將其標記爲答案。 – shrewdbeans 2012-07-18 16:36:27

1

您可以設置min-height{...}.main-content.pad,如果側邊欄有一個固定的高度。

2

不幸的是,沒有辦法在直接CSS中做到這一點。當你絕對放置某物時,將其從文檔流中移除,因此它不再影響父級的高度。

你可以用javascript解決它,因爲@ scott-brown已經建議。

但是,我更喜歡所有的CSS解決方案。你可以使用清除,無論哪一方不再使用該標記的浮動側邊欄佈局:

<div class="page"> 
    <div class="content"> 
    Primary content here. 
    </div> 
    <div class="sidebar"> 
    Sidebar content here. 
    </div> 
</div> 

這個CSS:

.primary { 
    float: left; 
    width: 66%; 
} 
.sidebar { 
    float: right; 
    width: 33%; 
} 
.page:after { 
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden; 
    zoom: 1; 
} 

.page的風格被稱爲clearfix(more details here)。

這個佈局技術的好處是,你可以交換.primary.sidebar列不改變的標記,只是通過改變float:leftfloat:right,反之亦然。

clearfix還意味着父元素將包含子元素,所以如果需要,您可以在.page上設置背景顏色,並且它將一直延伸到任何較長列的底部。

+0

謝謝Scott,這是一個很好的解釋。不幸的是,在這種情況下,我必須堅持絕對定位,但這是完美的解決方案。 – shrewdbeans 2012-07-18 19:58:27

相關問題