2011-06-15 45 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

使用此代碼 溢出包裝:打破字;