2012-11-06 379 views
1

我做了這個jQuery:設置的div寬度

定義架格:

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

如果稱號存在的數據等於標題:如果所有權則顯示它在

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

     } 

the div:

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

Set在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自動或100%它將不適合的文本,只是使用屏幕上的所有空間。

回答

0

爲什麼不使用

overflow:visible; 

這樣,它總是要不管匹配包含文本,寬度多久。

0

那麼你可以使用這兩個CSS屬性:

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

內聯元素(如span或a -tags(display: inline;))只與其內容一樣寬。如果您有像div這樣的塊元素(display: block;),默認情況下寬度爲100%。所以如果你不需要塊元素,你可以使用display:inline;

你記錄了parseInt(cimHolder.css('width'), 10)的值嗎?也許「px」單元無法正確解析。

問候