比如网页上的"WWWWWW"和"iiiiii",或者"iwiwiw"和"上的放松放松"他们的大小肯定是不一样的,怎么获得大小呢。

解决方案 »

  1.   

    length是字符串个数吧,我要取的是字符串在页面里所站的像素大小。
      

  2.   

    http://zhidao.baidu.com/question/196186056.html
      

  3.   

    简单的话,用js的onmouseover和onmouseout方法能找到边界
      

  4.   

    需求就是在一个div里面要显示两行字符,超出的以...显示,之前的做法是按照字符个数截取的,但是wwww和iii的效果就不一样了,如果wwww截了两行,换成iiii的话就换行了。如果用css来做的话又没法显示...,哎,头疼呀。
      

  5.   


    我以前碰到过这个问题,我的解决办法是在<div>里面放个<input>输入框,可以通过样式去掉其边框,然后在里面显示值,这样显示的值相当于有了容器容纳,看不到的值可以通过鼠标拖动看到剩下的内容,不用""了。
      

  6.   

    //---------得到字符串的像素--------
    Font font = new Font(fontName, Font.BOLD, fontSize);
    FontMetrics metrics = new FontMetrics(font) {};
    Rectangle2D bounds = metrics.getStringBounds(pressText, null);
    int widthInPixels = (int) bounds.getWidth();//像素宽度
    int heightInPixels = (int) bounds.getHeight();//像素高度
    //-----------------
      

  7.   

    就是将字符限定在一个rect中 得到rect的宽度即可
      

  8.   

    //计算出单个字符的像素
    public int getzifuxiangshu(String s,int zifusize){
    int jieguo=0;
    Bitmap b=Bitmap.createBitmap(zifusize+10,zifusize+10,Bitmap.Config.ARGB_8888);
    Canvas canvas=new Canvas(b);
    Paint paint=new Paint();
    paint.setColor(Color.rgb(255,0,0));
    paint.setTextSize(30);
    canvas.drawText(s,5,5+zifusize,paint);
    int x=0,y=0;
    boolean cc=false;
    while(x<b.getWidth()){
    while(y<b.getHeight()){
    if(b.getPixel(x,y)==Color.rgb(255,0,0)){
    cc=true;
    }
    y++;
    }
    if(cc){
    cc=false;
    jieguo++;
    }
    y=0;
    x++;
    }
    return jieguo;
    }
      

  9.   

    div 中设置css样式  text-overflow: ellipsis  可以自动出现...效果
      

  10.   

    如果要得到大小并不是那么简单,比如字体的fontsize 为10PX。那么一个英文是5PX ,中文是10PX。这是根据fontsize来确定的。还有如果字符在界面有显示比如在TD标签中显示,你可以通过dom 得到节点 的of(这个单词记不得了)weidth (offerWeidth)属性 .来得到字符的像素宽度。具体你可以 IE F12 调试一下。