css div动态向上增长

时间:2013-08-11 17:44:32

标签: javascript css game-engine

基本上,我正在构建游戏。 在我的游戏中,我不希望玩家能够互相交谈。你有一个数字,当你说话的时候,你的文字就会出现在你的角色上。“

我的困境是,当我输入泡泡中的大量文字时,泡泡会扩展到角色上。所以我希望泡沫能够向上发展。我一直试图想办法在JS和CSS中做到这一点,但我不得不放弃并问你们。

这是一个例子: http://jsfiddle.net/tDrNN/

HTML

<div class="wrapper">
    <div class="character1" style="position: absolute; top: 124px; left: 392px; width: 36px; height: 36px; background-color: blue;">
        <div class="bubble"><span>Hi my name is Mads</span></div>
    </div>


    <div class="character2" style="position: absolute; top: 124px; left: 192px; width: 36px; height: 36px; background-color: blue;">
        <div class="bubble"><span>Hi my name is MadsHi my name is MadsHi my name is MadsHi my name is MadsHi my name is MadsHi my name is Mads</span></div>
    </div>
</div>

CSS

.bubble {
  position: relative;
  background-color:#eee;
  margin: 0;
  padding:2px;
  min-width:100px;
  -moz-border-radius:10px;
  -webkit-border-radius:10px;
  -webkit-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
  -moz-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
  box-shadow: 0px 0 3px rgba(0,0,0,0.25); 
  top: -80px;
}
.bubble:after {
  position: absolute;
  display: block;
  content: "";  
  border-color: #eee transparent transparent transparent;
  border-style: solid;
  border-width: 10px;
  height:0;
  width:0;
  position:absolute;
  bottom:-19px;
  left:1em;
}
.bubble span {
    height: auto !important;
    color: #000 !important;
    font-family: verdana;
}

2 个答案:

答案 0 :(得分:4)

这是一个经过编辑的小提琴:http://jsfiddle.net/Z8fg3/

请注意两个主要区别:类bubble也是绝对定位的(如字符),而不是指定top,它的bottom等于高度{{1}}角色(加上箭头和东西的一些填充)。

(我移动了其中一个角色以适应气泡,并表明无论如何它都坚持下去。)

答案 1 :(得分:2)

我想你可以将气泡的容器设置为相对,并将气泡设置为绝对,底部为0,并添加足够的margin-bottom,这样它就不再是它的容器(字符)...它应该向上而不是向下扩展,因为它固定在容器上..

你的CSS存在很多问题,我怀疑这对浏览器非常友好。

看到这个小提琴: http://jsfiddle.net/HnezM/

.