2011-09-10 22 views
3

我有position:fixed<div>出現在屏幕中間。當有消息時,第二個position:fixed<div>放在第一個<div>的旁邊。CSS position:fixed

我在不同的屏幕尺寸(比如上網本 - 小屏幕)上找到了<div>的座標。

是否有辦法鎖定彼此的位置?我試圖用一個固定的容器來保存它們,但它們仍然移動。

<div id="container"> 
    <div id="container"></div> 
    <div id="container"></div> 
</div> 

編輯:

<div id="wrapper"> 
    <div id="container1"></div> 
    <div id="container2"></div> 
</div> 

CSS - 當我改變屏幕尺寸container1和container2的還是移動。

#wrapper { 
    position: fixed 
} 
#container1 { 
    position: fixed 
} 
#container2 { 
    position: fixed 
} 

我需要使用容器1/2 div上的相對定位嗎?

+0

你沒有透露太多的隱瞞你的CSS代碼。 – Sparky

+0

關於您在後續編輯中提出的意見,請參閱下面有關大小和位置的完整答案。另外,還有,你的CSS代碼是什麼?我知道你仍然在隱瞞它,因爲簡單地把'position:fixed'本身放在屏幕上不會居中。 – Sparky

回答

4

最重要的是,id唯一。您不能在三個不同的元素上使用id="container"。每個人都必須擁有自己的id

<div id="container"> 
    <div id="container"></div> 
    <div id="container"></div> 
</div> 

應該是這樣的......

<div id="wrapper"> 
    <div id="container1"></div> 
    <div id="container2"></div> 
</div> 

而且,哪裏是你的CSS代碼?

如果您不希望這些東西在窗口大小更改時相互推動,則一種方法是指定每個容器的確切大小和位置。

編輯:

同樣,沒有看到這個頁面,演示,或你想要什麼更好的說明的一個例子,這是炒作。

你可以把固定的位置放在包裝紙上,然後在<div>的內部放上一個確切的尺寸和位置。

1

position: fixed CSS規則「修復」元素在屏幕上的位置。一旦將其設置爲fixed,它將永遠不會從您放置的位置移開。由於您將fixed應用於所有元素,因此您會看到元素堆棧(可能位於屏幕的左上角,並考慮到您'不提供頂部或左邊的值)。

如果你想要子元素出現在你的固定容器內,只是不要加position: fixed給他們,他們會坐在父母的內部就好。

當然,所有這些都是純粹的推測,因爲我們無法看到您的問題的例子,也沒有您想要的結果。

+0

如果OP想要固定定位(相對於視口固定),那麼使用相對和絕對的組合將會對他沒有好處。我同意,這是所有猜測沒有更多的信息。 – Sparky

+0

確實。當實際問題和期望的結果是未知時解決問題是不可能的:) – Chris

0

你無法修復你這個div的位置。首先你必須找到你父母div的屏幕大小,其中包含你想要的中間div。像

<div id="parent"> <div id="middle_div"></div> </div> 
function getScreenSize() 
{ 
     var winW, winH; 
     winW = document.getElementById('parent').availWidth; 
     winh = document.getElementById('parent').availHeight; 
    } 

你這是怎麼VIL得到大小availabel父div.Then根據it.now設置父div的寬度和高度,如果你有父母DIV的寬度其輕鬆設置middle_div在中間母公司

+0

假設他只是忽略了所有的代碼。當他已經告訴你它正在被固定和居中時,他當然不需要知道如何集中某些東西。 – Sparky

+0

@sparky:我剛剛給了他一個想法,他如何才能獲得小屏幕的父div的大小。根據他可以修復這兩個div的大小動態... –

+0

您已經提供了一個特定的答案這是一個未知的問題,因爲我們無法看到他的實際代碼,甚至不知道他想要什麼。 – Sparky

相關問題