js如何让一个div显示在另一div的右下角?

分数不多,请见谅!

第1个回答  2011-11-26
那么麻烦做什么,楼主的这个要求css就可以实现了,可以随便改动div1里的内容,试试看:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>example</title>
<style type="text/css">
<!--
#div1{ background:#eee; float:left; position:relative;}
#div2{ background:#ddd; height:100px; position:absolute; bottom:-100px; right:-100px; width:100px;}
-->
</style>
</head>
<body>
<div id="div1">
<p>div1内容可变,宽高不固定</p>
<p>div1</p>
<p>div1</p>
<div id="div2">div2</div>
</div>
</body>
</html>
第2个回答  2011-11-24
<div id="div1" style="width:100px;height:100px;position:absolute;left:0px;top:0px;background-color:Green;"><div>
<div id="div2" style="width:100px;height:100px;position:absolute;background-color:Maroon;"><div>
body中onload()中写
window.document.getElementById("div2").style.left='100px';
window.document.getElementById("div2").style.top='100px';
第3个回答  2011-11-24
如果已经知道了宽度和高度的话,就不需要劳动js了,绝对定位就轻松搞定.
如果不确定高度和宽度的话,那是需要计算一番的,还要看这两个div的关系,关系不同实现的思路也是略有不同的追问

第一div的位置是不确定的,所以要根据第一div的位置来设置第二个div的显示位置,否则通过绝对定位会导致在第一个div位置变动的时候第二个div显示的位置不正确~~

追答

建议你把第二个div放到第一个div里面,以父子级的关系会好控制一点.

div1的高和宽不确定的话:可以用offsetHeight和offsetWidth来获取,
同样,用这两个属性得到div2的高和宽.
然后,进行计算,设定
div2的marin-left=div1的宽-div2的宽

margin_top=div1的高-div2的高

这样做的话,有一点要留意:div2一定得是div1中的第一个元素(才能兼容IE6和IE7)

第4个回答  2011-11-24
拿JS定位追问

能不能提供具体点的js代码

追答



test

function fun(){
var div1=document.getElementById("div1");
var div2=document.getElementById("div2");

div2.style.top=div1.offsetTop+div1.offsetHeight+"px";
div2.style.left=div1.offsetLeft+div1.offsetWidth+"px";
}

写了个小例子,参考下

本回答被网友采纳
相似回答