CSS是不是真的我的事,我一見的相對位置,靜態的或絕對的我的頭開始旋轉:(動態添加一組的DIV的另一個DIV內
所以,問題是:我有一個DIV和內我需要把任意數量的<div>
s對齊水平。這將在運行時完成,因爲我不知道DIV的數量,也沒有在設計時每個人的寬度。 例如讓我說我有以下數組的DIV添加:
_aDIVs = [[40, '#red'], [10, '#green'], [40, '#blue'], [10, '#brown']];
- 首先DIV需要填補從0%到父DIV和BG顏色的40%是從41%紅色
- 第二至50%,BG彩色綠色
- 三從51%至90%,藍色
- 第四個從91%到100%,棕色
每個DIV都有不同的背景顏色,%只在運行時才知道。使用%很重要,否則在瀏覽器窗口重新調整大小時填充將會中斷。我們的想法是這樣的:(!對不起我的繪畫技巧)
|--------------------- PARENT DIV ---------------------|
|------RED------||-GREEN-||-----BLUE-----||-BROWN-|
眼下,父DIV是使用絕對位置,這裏的確切聲明:
div id="slider-addon" style="height: 5px; position: absolute; bottom: 0px; width: 100%; background-color: red; ">
我不關心是否有一個晦澀的詭計,其中第一個DIV填充100%,然後它被下一個<div>
等重疊,只要訣竅是跨瀏覽器兼容(需要在IE瀏覽器上工作,需要在Chrome瀏覽器上工作)
此外,如果有一種方法可以在父DIV上水平對齊多個背景顏色,只要能夠指定填充%,就可以實現相同的效果。
謝謝!
UPDATE: 與ShankarSangoli方法來解決,這裏有一個小幅調整的解決方案:
var _aDIVs = [[40, '#3399FF'], [10, '#33CC33'], [40, '#FFCC00'], [10, '#CC66FF']];
var $sliderDiv = $("#slider-addon");
$.each(_aDIVs, function(i, val) {
$sliderDiv.append(
$('<div></div>').css({ 'float': 'left', 'width': val[0] + '%',
'background-color': val[1], 'height': '5' })
);
});
謝謝:)
[這裏](HTTP://www.barelyfitz .com/screencast/html-training/css/positioning /)是一個關於div位置的好網頁,我指的是 –
你的問題是什麼?你是否遇到了在一條線上對齊div而不是對齊的問題?如果是這樣,你需要使用display:inline;在每個子div的樣式 – Grezzo
問題是,鑑於「_aDIVs」,我如何將DIV放在父「slider-addon」內,讓它們如上所述顯示。 – Nick