2011-06-15 49 views
6
<div rownumber="0" messageid="141" class="post" style="position: relative; top: 0px;"> 
    <div class="post_body">testbox</div> 
    <div class="post_info" style="top: 0px;"> 
     <ul> 
      <li class="vote" id="voteli"><a href="#">vote up</a></li> 
      <li class="flag" id="flagli"><a href="#">flag</a></li> 
     </ul> 
    </div> 
</div> 

因此,这些div在运行中生成,并放置在前端的容器div中。这些在后端生成,并通过Json作为HTML返回。将动态文本装入div

div class="post_body"是持有用户消息的东西,当前是“testbox”。现在,我遇到的问题是,当用户写入延伸超出div宽度的消息时,它只会继续前进,不会碰到第二行。

这里是两件事情我想实现:

  1. 我想确保当文本不适合水平,它会在同一div内的第二道防线。
  2. 我想缩小文本,如果它需要在两条线上,那么post_body div的高度每次都可以保持一致。

我该怎么做?

谢谢!

+0

对于第一点:如何使用自动换行:断字; ? – Mac 2011-06-15 21:06:34

+1

对于字体大小:http://stackoverflow.com/questions/687998/auto-size-dynamic-text-to-fill-fixed-size-container – 2011-06-15 21:08:20

+0

http://stackoverflow.com/questions/687998/auto- size-dynamic-text-to-fill-fixed-size-container - 读这个。至于1) - CraigW说的。 – 2011-06-15 21:09:10

回答

2

您可以使用CSS并将div的宽度设置为特定数量。当文本变大以符合DIV标签的宽度时,它将仅包裹。

要调整字体大小,你必须使用JavaScript来疯狂。就个人而言,我只是将高度设置为DIV标记,并将CSS overflow-y设置为auto,这会导致div在滚动到需要很多文字以适合DIV标记尺寸时滚动。

+0

请记住,这些div没有输入到前端,它们是在后端生成的,所以我想我会重新调整后端文本的大小。 – slandau 2011-06-15 21:08:18

+0

也设置宽度似乎不工作= / – slandau 2011-06-15 21:11:04

0

这似乎是为我工作:

<div rownumber="0" messageid="141" class="post" style="position: relative; top: 0px;">  
    <div class="post_body" style="width:100px; overflow:scroll; ">testbox. this is a test. this is a test. this is a test.</div>  
    <div class="post_info" style="top: 0px;">   
    <ul>    <li class="vote" id="voteli"><a href="#">vote up</a></li>    <li class="flag" id="flagli"><a href="#">flag</a></li>   </ul>  

    </div> 
</div> 

确保当你生成你的div你给它一个宽度和溢出风格属性。

-1

使用此代码 溢出包装:打破字;