我有一個設置,我有一個絕對div設置爲左側位置和右側位置以允許液體佈局。這一切都很好地工作,但後來我遇到了一個問題,我有一個div下面有一些副本。問題是,副本的div應該低於絕對定位div。現在它出現在它上面,這是不正確的。div高於絕對div和溢出
我經常看到這個問題,因爲在孩子被設置爲絕對後摺疊父母的div,但爲了解決這個問題,我使用清除所有或溢出:父母隱藏,它停止發生崩潰。這一次圍繞它的不崩潰,但它顯示我的底部股利高於頂部股利。
這裏是一個jsfiddle鏈接向您展示我的代碼。
我有一個設置,我有一個絕對div設置爲左側位置和右側位置以允許液體佈局。這一切都很好地工作,但後來我遇到了一個問題,我有一個div下面有一些副本。問題是,副本的div應該低於絕對定位div。現在它出現在它上面,這是不正確的。div高於絕對div和溢出
我經常看到這個問題,因爲在孩子被設置爲絕對後摺疊父母的div,但爲了解決這個問題,我使用清除所有或溢出:父母隱藏,它停止發生崩潰。這一次圍繞它的不崩潰,但它顯示我的底部股利高於頂部股利。
這裏是一個jsfiddle鏈接向您展示我的代碼。
我不知道爲什麼你認爲這會奏效。你有容器footer
。這包含兩個子div-footerWrapper
和footerTerms
。
FooterWrapper絕對定位。所以它被排除在所有其他元素的流動之外。 footerTerms是footerWrapper的兄弟,自然地從其父,頁腳的左上角開始。
爲什麼footerWrapper絕對定位好像你想讓它影響你的頁面內容流?使其相對或保持靜態。
http://jsfiddle.net/mrtsherman/7cNf7/3/
<div class="footer">
<div class="footerWrapper">
</div>
<div class="footerTerms">
</div>
</div>
footerTerms不是FooterWrapper的兄弟。它在FooterWrapper之外。 FooterWrapper是絕對位置,所以我可以在其上設置一個左側位置,並在其上有一個正確的位置。現在左側設置爲0,但這會改變。 – Chapsterj
我想你有一個關於相對定位的問題,我總是可以設置相對div的左右位置。 – Chapsterj
再次查看您的代碼。 footerTerms確實是兄弟姐妹。我更新了我的答案,刪除了中間的所有內容,以便您可以看到。 – mrtsherman
我有probabaly錯誤理解你想做的事,但如果你想要一個液態佈局爲什麼不使用這樣的事情:
CSS:
<style type="text/css">
#footerWrapper {
background: #ccc;
}
#footerWrapper .section {
float: left;
width: 33%;
}
.clear:after {
content: " ";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
html[xmlns] .clear {
display: block;
}
* html .clear {
height: 1%;
}
</style>
HTML:
<div id="footerWrapper">
<div class="clear">
<div class="section">
Footer section 1<br />
Footer section 1<br />
Footer section 1
</div>
<div class="section">
Footer section 2<br />
Footer section 2<br />
Footer section 2<br />
Footer section 2
</div>
<div class="section">
Footer section 3<br />
Footer section 3<br />
Footer section 3
</div>
</div>
<div class="terms">
Terms
</div>
</div>
然後,如果您想將頁腳掛到頁面的右側,例如您可以編輯#footerWrapper CSS並給它一個寬度和浮點數。
謝謝酸檸檬,我不知道我得到這如何與我的結構相關。所以部分與dl元素相同,除了您選擇使用div?那麼你從哪裏取得33%的數字?你說浮動所有部分左邊位,然後你說如果需要將它釘在右邊。我不能給footerwarpper一個寬度,因爲它的liwuid基於我沒有像素寬度。當左側必須是左側的指定數量的像素時,如何浮動左側幫助,還必須跨越右側瀏覽器的寬度,並在縮放瀏覽器時正確更新。 – Chapsterj
是的,我選擇使用divs代替dls,而33%是從做一些簡單的數學,100/3,然後將結果四捨五入到33,這意味着無論footerWrapper有多寬,它們都會佔用一個均勻空間量。如果將footerWrapper固定爲寬度並向右浮動不合理,則忽略該評論。我只是認爲這是你看完你的代碼和結果頁面後想要做的。重點是我上面的代碼是一個頁腳,它可以跨越瀏覽器寬度,其中3個部分佔用甚至空間,其他文本下面有一個div。 –
感謝酸檸檬解釋您的設置。你的設置確實有效,但它不能解決問題,因爲它能夠在左側設置指定的位置,然後將其固定在右側。使用絕對定位可以實現這一點。但是因爲它將它從其他元素的自然流動中解脫出來,所以我現在沒有辦法讓它下面的元素知道它下面的位置應該在哪裏。它很自然地想要在之前被設置爲絕對的footerWrapper前面的對象位置。主要問題是如何解決這個問題來定位footerTerms。 – Chapsterj
在你的小提琴中,你有一些不匹配的標籤。你能回去糾正嗎?這可能是你的問題的原因。注意底部的紅色div。整潔按鈕也應該對你有所幫助。 – mrtsherman
這是一個缺少標籤,但這不是問題。對於那個很抱歉。仍然有其他問題。 – Chapsterj
'clear'用於清除浮動,而不是絕對定位的元素。 –