插入更多文本时,增加div高度并动态移动其他div

时间:2012-10-24 12:59:32

标签: html css css3

当文本增加时,我很难用文本向下移动主div下的其他div。我用css尝试了很多次。当文本增加大量输入时按下文本div高度将增加但其他潜水不会移动。我很抱歉我的英语。我能为此做些什么?

这是在插入文本之前 http://i.stack.imgur.com/SeY8Y.png

这是在插入文本之后 http://i.stack.imgur.com/k5Ik6.png

这是我的代码

    <div style="width:795px; min-height:40px; background-color:#0099FF; position:absolute; left: 60px; top: 0px;padding-top:10px;padding-left:5px; color:#FFF;font-size:14px"></div>
<span style="width:795px; min-height:40px; background-color:#0099FF; position:absolute; left: 60px; top: 0px;padding-top:10px;padding-left:5px; color:#FFF;font-size:14px"><strong>Tomorrow can be too late..</strong></span>
<div style="width:100px; height:30px; background-color:#FBC81A; position:absolute; left: 757px; top: 40px; border-bottom-left-radius:5px;z-index:1;">
  <div style="width:50px;height:30px; position:absolute; padding-top:3px;padding-left:13px;">
    <input type="submit" name="btn_report" id="btn_report" value="" style="background-image:url(images/report.png);background-repeat:no-repeat;width:23px;height:23px;border:none;background-color:#FBC81A;cursor:pointer;" title="Report this post" />
  </div>
<div style="width:50px; height:30px; position:absolute; left: 50px; background-color:#0C0; top: 0px;text-align:center;">
<div style="margin-top:7px;color:#FFF;font-weight:bold;cursor:pointer;" title="Post reputations">102</div>

</div></div>
  <div style="width:795px; min-height:340px; background-color:#F3F8F8; position:absolute ; left: 59px; border-bottom-left-radius:10px; border-bottom-right-radius:10px; top: 40px;  border-left:3px #0099FF solid;border-right:3px #0099FF solid;" >
    <p>sds</p>
    <p>d</p>
    <p>sa</p>
    <p>d</p>
    <p>sad</p>
    <p>s</p>
    <p>&nbsp;</p>
    <p>ds</p>
    <p>ad</p>
    <p>s</p>
    <p>&nbsp;</p>
    <p>d</p>
    <p>dsa</p>
    <p>das</p>
    <p>d</p>
    <p>sa</p>
    <p>d</p>
    <p>as</p>
    <p>das</p>
    <p>d</p>
    <p>as</p>
    <p>das</p>
    <p>d</p>
    <p>sa</p>
    <p>d</p>
  </div>
  <div style="width:800px; min-height:25px; background-color:#0099FF; position:absolute; left: 60px; border-bottom-left-radius:10px; border-bottom-right-radius:10px; top: 355px;" ></div>
   <div style="width:798px; min-height:20px;  position:absolute; left: 62px; border-bottom-left-radius:10px; border-bottom-right-radius:10px; top: 380px;background-image:url(shadow_9.png);background-repeat:no-repeat;"  ></div>
</div>

2 个答案:

答案 0 :(得分:2)

这是因为position: absoluteleft: 60pxtop: 355px。这样,容器将始终位于屏幕上的相同位置。您必须使用position: relative,使用margin代替leftright。 div也没有正确嵌套。

查看http://jsfiddle.net/skeurentjes/2xd88/1/

它认为它按照你想要的方式工作。

答案 1 :(得分:0)

只需移动您的底栏<div>

<div style="width:800px; min-height:25px; background-color:#0099FF; position:absolute; left: 60px; border-bottom-left-radius:10px; border-bottom-right-radius:10px; top: 355px;" ></div>

在您放置文字的<div>内(在<p>标记下)并将其更改为:

<div style="width:800px; min-height:25px; background-color:#0099FF; position:relative; left: 0px; border-bottom-left-radius:10px; border-bottom-right-radius:10px; bottom: 0px;" ></div>

它会随着你的文字内容<div>

而动态移动