2011-09-10 24 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

相关问题