2011-01-14 57 views
0

我有以下标记:飘来背景DIV影响空间

<div id="container"> 
    <img src="images/behind.png" id="behind" /> 
    <div id="header"> 
    </div> 
</div> 

具有以下样式: 的#container { 保证金左:自动; margin-right:auto; width:800px; }

#container #behind{ 
    float: right; 
    margin-top: -50px; 
    margin-right: -20px;  
} 


#header { 
    border: #ACACAC 1px solid; 
    background: silver url('../images/headerbg.png') repeat-x; 
    height: 100px; 
    margin-top: 50px; 
    position: relative; 
    width: auto; 
    margin-right: 0px; 
} 

现在,这似乎是我想它;但是,当我将登录框添加到标题并将其右移时,它会移动到标题容器的右侧,但在#behind中大约200px,并且图像的宽度被填充到右侧。

对此提出建议?

回答

0

有可能是一个图像浮动旁边的问题...尝试将图像放在一个然后浮动。

例如:

<div id="container"> 
    <div id="behind"><img src="images/behind.png" /></div> 
    <div id="header"></div> 
</div> 
+0

嗨,亚当,欢呼声,但没有解决它。 – James 2011-01-14 07:00:48

0

据我了解你的情况,你有两个元素,都浮动到右边。这将导致这些元素彼此相邻。看看例4这里:http://j-cafe.com/floats.html

如果你希望#behind中的图像在背景中,并在其上的登录框,你应该##背后的图像设置为#container div中的背景图像,就像你用headerbg.png做的一样。您可以像这个例子中一样将其右对齐:

body {background:#ffffff url('img_tree.png') no-repeat right top;} 

这样它就不会干扰登录框了。