我試圖在用戶界面教程(請參閱CSS3 spotlight effect using a rounded rectangle with gradients)期間在某些頁面元素上繪製聚光燈。jQuery低估了頁面上某些元素的寬度和高度
例如,這裏的導航欄:
和備受矚目(頁面的其餘部分變暗了):
不過,我的網頁上的內容之一給我帶來麻煩。這裏就是它的定位在Chrome:
然而,jQuery的認爲這是330px由60像素:
> var blah = $('.user-list')
[
<div class="well well-skinny user-list">…</div>
]
> blah.height()
60
> blah.width()
330
這導致聚光燈太小,當它被吸入:
奇怪的是,頁面上有很多其他元素(如導航欄),其大小計算d正確,聚光燈正確顯示它們。
什麼是這個元素,導致jQuery顯示不正確的高度和寬度?一些額外的信息:
- 整個頁面是
border-box
大小除了input
元素,不與引導好發揮。 - 所有邊上都有9px填充,邊距爲1px,彌補了大小的差異,但是還有很多邊界/填充的其他元素在尺寸計算正常工作,這是唯一的元素是奇怪的。例如,上面顯示的引導程序導航欄在左側和右側具有20像素的填充,但寬度計算正確。
'outerHeight()'和'outerWidth()'怎麼樣? – Stphane
@f00bar有可能'height()'實際上是爲這個元素計算'innerHeight()'而爲其他元素計算'outerHeight()'?這將是有趣的... –
@AndrewMao它的不同是因爲盒子尺寸的屬性。檢查https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing –