2013-06-04 46 views
1

當BODY應用了固定的CSS「寬度」時,我遇到了網頁問題。在執行屏幕寬度計算/檢查(即內容的左邊緣而不是瀏覽器窗口的左邊緣)時,給身體的寬度似乎影響瀏覽器認爲是像素0的值。影響屏幕計算的Body'width'屬性

我有一個控制,它被注入頁面後加載在特定的計算位置。當設置主體寬度並且內容比瀏覽器窗口更窄時,控件將顯示在屏幕外。

在Chrome和IE10中,「margin-left」和「margin-right」屬性被動態設置,這意味着我仍然可以得到正確的結果。但是,我知道的Safari不是。

有沒有人有任何建議或指示,我如何能準確地獲得寬度信息的可靠,跨瀏覽器兼容的方式在身體的情況下具有明確的,固定的寬度?非常感謝...

更新:我看到這在特定的地方,但它似乎並不是造成問題的「寬度」屬性,它存在的「位置:相對」屬性。請參閱下面的評論中的jsfiddle鏈接。

爲了澄清,我的控件是一個插件,可以進入任何人的網站,所以我需要嘗試儘可能多地迎合潛力。其被設置爲position: absolute

+0

可以PLZ提供任何示例代碼片段? –

+0

我不明白你準確計算/設置什麼,以及你的問題是什麼......這是什麼控制?一些例子? http://jsfiddle.net/HEQVb/ –

+0

http://jsfiddle.net/samkirkpatrick/ghGza/ - 這是一個特定網站的CSS /設置快照,我看到的問題。經過進一步調查,它實際上是身體的「位置」 - 而不是導致問題的「寬度」......主文章已更新。 –

回答

0

元素將根據它們的最接近的position: relative祖先的content area被定位,與html是默認值,如果沒有更接近position: relative祖先。

如果您希望控件的頁面左上角始終出現5px向下和300px,請將html設置爲position: relative,並將身體設置爲根本不設置position

如果你希望你的控制,堅持你body元素的右上角,然後設置#myblock有以下CSSproperty: value;對:

position: absolute; 
top: 0; 
left: 100%; 

jsFiddle