2

我做了这个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 宽度:

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

但是这样如果你得到很多宽字符,div会很小,但是当你得到很多窄字符时,它会很长。如何解决这个问题?

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

4

3 回答 3

2

inline elements like span or a -tags (display: inline;) are only as wide as their content. If you have a block element like a div (display: block;) the width is 100% by default. so if you don't need a block element, you can use display: inline;

Has you log the value of parseInt(cimHolder.css('width'), 10) ? Maybe the "px" unit can not be parsed correctly.

Greetings

于 2012-11-06T08:01:45.833 回答
0

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

max-width: 100px;
min-width: 50px;
于 2012-11-06T07:51:33.993 回答
0

为什么不使用

overflow:visible;

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

于 2012-11-06T07:52:16.610 回答