2016-06-09 90 views
1

是否有人可以解釋爲什麼當HTML是jQuery的寬度()和outerWidth()產生奇怪的結果

<div class="div">This is a normal DIV</div> 

jQuery的

$('.div').width("50%"); 

and 

$('.div').outerWidth("50%"); 

產生這種奇怪的結果?我曾與通常定位的DIV,絕對定位的DIV,並有和沒有CSS

box-sizing: border-box; 

我得到壓扁的DIV(即最小寬度)與outerWidth(「50%」)當邊界框試過這種沒有設置,並且當設置邊框時寬度(「50%」)爲的DIFF值爲。 (FWIW,位置:絕對似乎沒有什麼區別)

https://jsfiddle.net/zk1gys7z/1/

+0

你應該可能讀到'border-box' –

+0

看起來像jQuery中可能存在一個錯誤:https://github.com/jquery/jquery/issues/1712 – MSC

回答

0

我真的不能解釋這是怎麼回事那裏JS,它並不總是似乎是將50%我看到了應用了8%,92%和其他奇怪值的樣式。

我想你會得到你所要尋找的結果:

$('.div').css("width", "50%"); 

隨着border box應用將需要填充進去,不,它將尺寸只是含量爲50%(填充將是額外的)

+0

謝謝@Darvanen。現在我使用outerWidth()和border-box,但這是非常奇怪的行爲,我希望有人仍然可以解釋爲什麼會發生這種情況。 – MSC