<table width=100>
<tr>
<td>
<font id=str size=3 titile="" style="width:100;">
dfdsfdsfsd工 大幅度 在在大ddfdfds有伙右黃水有dfdfdsfdsfsdfdsfdsejyjrd
</font>
</td>
</tr>
</table>对于字符串dfdfdsfdsfsdfdsfdsejyjrd,IE无法正确地将其断开,它只好将字符串看作一个词硬生生地显示出来,也就是说这时width的值无用。
将字符串用空格断开就可以了。

解决方案 »

  1.   

    <p><textarea rows="11" name="S1" cols="51"></textarea></p>
    <p><input type="button" value="按钮" onclick=ttt()></p>
    <script>
    function ttt(){
    txt=brkLine(S1.value,35)

    pr.innerHTML=txt;
    }
    function brkLine(txt,charlen){

    s=""
    l=0;
    p=0;
    for (i=0;i<txt.length;i++){
    a=txt.charAt(i);
    s+=a;
    if (p!=0){
    if (a==">") p=0; 
    }
    else
    {   if (a!="<"){  
       
    if (!/^[\x00-\xff]/.test(a)) l++;
    l++;

    if (l>=charlen){
      s+="<br>";
      l=0;
    }
    }
    else 
    if (txt.substr(i,4).toLowerCase()=="<br>"){
    s+="br>";
    i+=4;
    l=0;
    }else  p=1;

    }
    }
    return s;
    }
    </script>
    <table border="1" width="30%" height="107">
      <tr>
        <td width="100%" height="101" valign="top" id=pr>每行35个字符</td>
      </tr>
    </table>
      

  2.   

    你看看这样的css好不好啊
    style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;"
    不过我的目的是隐藏水平和竖直滚动条
    而且超出区域的范围隐藏;
    不过记不太清了呀………………
      

  3.   

    你用的字号是多少px*字符个数不就OK吗?
      

  4.   

    style=width:300;table-layout:fixed 
      

  5.   

    得到固定字符位置的函数<Script language="Javascript" Runat="Server">
    /*
    =======================================================================================
     本程序段的功能:
     
     给定一个字符串,不管是英文还是中文,还是中英文混合的,只取前面的8个英文字母占位的宽度。
     关于该程序的说明:当最后一个字为中文,并且前面已经取得7位时,就不应该再取这个字了。再
     最后位置补空格; 否则的话,总共就会占9个英文字符的位置了。
     本程序由net_lover(孟子E章)编写,您可以任意使用本程序,但要保持本注释。
     有任何疑问请Email至: [email protected]
     欢迎访问:
     http://lucky.myrice.com
     http://colorweb.go.163.com
    =======================================================================================
    */
    function get8Length(str)

     var tmp = 0;
     var len = 0;
     var okLen = 0
     for(var i=0;i<8;i++)
     {
      if(str.charCodeAt(i)>255)
       tmp += 2 
      else
       len += 1
      okLen += 1
      if(tmp + len == 8) 
      {
       return (str.substring(0,okLen));
       break;
      }
      if(tmp + len > 8)
      {
       return (str.substring(0,okLen - 1) + "&nbsp;"); 
       break;
      }
     }
    }</Script>
    <%
    Dim strTest
    strTest = "我是孟子E章啊!!"
    Response.write get8Length(strTest) & "……<br>"
    strTest = "我是net_lover!!"
    Response.write get8Length(strTest) & "……<br>"
    strTest = "I我a是m孟子E章啊!!"
    Response.write get8Length(strTest) & "……<br>"
    %>改成客户端也没有问题
      

  6.   

    回复人: qiushuiwuhen(秋水无恨) (  ) 信誉:100  2002-03-27 14:15:00  得分:0  
     
     
      style=width:300;table-layout:fixed  
     
      

  7.   

    <table style=width:300;table-layout:fixed>
    <tr>
    <td width=300 height=18>
    dfdsfdsfsd工 大幅度 在在大ddfdfds有伙右黃水有dfdfdsfdsfsdfdsfdsejyjrd
    </td>
    </tr>
    </table>
      

  8.   

    本来题目的要求就是
    str.innerText太長﹐我不想分行﹐只顯示100px長就可以
      

  9.   

    TO:qiushuiwuhen(秋水无恨) 
    我試了,有中文和英文時中文后的英文沒顯示,而長度還沒到.