按文本长度设置div宽度

时间:2012-11-06 07:50:04

标签: jquery html size font-size

我做了这个jquery:

定义持有者div:

var cimHolder = componentWrapper.find('.cim_holder');

如果标题存在数据等于标题:

    if(data.attr('title') != undefined && !isEmpty(data.attr('title'))){
                cimData = data.attr('title');
                cimExist = true;

        }

如果标题存在则显示在div中:

        if(cimExist){
            cimHolder.css('width', 'auto');//reset
            cimHolder.html(cimData);

按字符长度设置div widht:

            var hossz = cimData.length*6.5;
            //console.log(cimData);
            if(parseInt(cimHolder.css('width'), 10)>200){
                cimHolder.css('width', hossz+'px');
            }
            }

但是通过这种方式,如果你得到很多宽字符,div会很小,但是当你得到很多狭窄的字符时,它会很长。如何解决这个问题?

编辑:如果我设置div auto或100%它不适合文本,只需使用屏幕中的所有空格。

3 个答案:

答案 0 :(得分:2)

内联元素(如span或a -tags(display: inline;)仅与其内容一样宽。如果您有像div(display: block;)这样的块元素,则默认宽度为100%。因此,如果您不需要块元素,则可以使用display:inline;

您是否记录了parseInt(cimHolder.css('width'), 10)的值?也许“px”单元无法正确解析。

问候

答案 1 :(得分:0)

你可以使用这两个css属性:

max-width: 100px;
min-width: 50px;

答案 2 :(得分:0)

为什么不使用

overflow:visible;

这样它总是必须匹配包含文本的宽度,无论多长时间。