我做了这个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%它不适合文本,只需使用屏幕中的所有空格。
答案 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;
这样它总是必须匹配包含文本的宽度,无论多长时间。