首先,确定大DIV(相对定位,宽高),再根据数据输出多个小DIV(绝对定位,宽高,位置),这样完全没有问题的因为所有的小DIV肯定是在大DIV里的,所以: var w = 0; var h = 0; var temp; for(var div in data) { temp = data[div][left] + data[div][width]; if(w < temp) { w = temp; } temp = data[div][top] + data[div][height]; if(h < temp) { h = temp; } } 最后的w,h就是大DIV的尺寸,这个得到,其它就好说了当然,可能实际要复杂一些,比如有些小div没有left,只有right;
这是代码 出来的结果却是这样 一个四个
float:left;
就好了嘛......
哪那么麻烦...
另外,你CSS写成一坨,到时候修改的时候怎么改...
根据需要合并单元格就可以了
我这里的div个数 div位置和大小都是不定的 是根据xml解析出来的。能解析出来每个div的高宽和绝对位置。你教教我怎么样写才好呗
<div style="valign:top;width:148;height:50;border:solid 1px red;background-color:#fff;float:left" ></div>
<div style="valign:top;width:48;height:150;border:solid 1px red;background-color:#fff;float:right" ></div>
<div style="valign:top;width:48;height:148;border:solid 1px red;background-color:#fff;float:left" ></div>
<div style="valign:top;width:98;height:98;border:solid 1px red;background-color:#fff;float:left" ></div>
<div style="valign:top;width:148;height:48;border:solid 1px red;background-color:#fff;float:right" ></div>
</div>
样式是不定的,你的这个代码就固定死了。div数目和布局是不定的。。想知道 如何用绝对定位把每个div定位到不同位置上,,,,求解答~~~~~ - 。 -
那你就像这样布局呗 借鉴下 我又不知道你解析出来的是什么。
var w = 0;
var h = 0;
var temp;
for(var div in data) {
temp = data[div][left] + data[div][width];
if(w < temp) {
w = temp;
}
temp = data[div][top] + data[div][height];
if(h < temp) {
h = temp;
}
}
最后的w,h就是大DIV的尺寸,这个得到,其它就好说了当然,可能实际要复杂一些,比如有些小div没有left,只有right;
<div style="left:0;top:0;border-style:solid;border-width:2px;border-color:#B8B8B8;position:absolute;background-color:#DBDBDB;width:250px;height:250px;"> </div>
<div style="left:250;top:0;border-style:solid;border-width:2px;border-color:#B8B8B8;position:absolute;background-color:#DBDBDB;width:250px;height:250px;"> </div>
<div style="left:0;top:250;border-style:solid;border-width:2px;border-color:#B8B8B8;position:absolute;background-color:#DBDBDB;width:250px;height:250px;"> </div>
<div style="left:250;top:250;border-style:solid;border-width:2px;border-color:#B8B8B8;position:absolute;background-color:#DBDBDB;width:250px;height:250px;"> </div>
</div>
试试这样
bottom:下,right 右