2012-05-03 59 views
0

我有一個沒有設置寬度的div,所以它是0.在我附加了另一個div與文本。一切都是絕對的,我無法改變。會發生什麼是:在safari我得到30和30,在Firefox中我得到0和30. 有沒有什麼辦法可以解決這個問題?我需要我的父div寬度有孩子的寬度+它的x位置。在火狐和歌劇的父級div寬度是0,即使我有孩子

var d = document.createElement("d"); 
    d.style.position = "absolute"; 
    document.body.appendChild (d); 

    var c = document.createElement("s"); 
     c.style.position = "absolute"; 
     c.innerHTML = "Blah"; 
    d.appendChild (c); 

    console.log (d.scrollWidth); 
    console.log (c.scrollWidth); 

回答

2

如果兩個元素必須設置爲position:absolute,那麼您幾乎不走運。

使用絕對定位從文檔流中移除元素,這意味着父div沒有子div寬度的概念。如果您將孩子更改爲親屬,同時將父母作爲絕對孩子,那麼您將看到您想要的正確拉伸(因爲即使文檔的其他部分無法「看到」孩子也能「看到」孩子「父母)

+0

我很害怕那樣,似乎我必須做我自己的計算。 –

相關問題