我正在尝试将一个div放在我的页面上,并将另一个div连接到窗口的右侧,如下所示:
header
|----------------------|
| _______ _____|
| | | | ||
| | | | ||
| | div a | | b ||
| | | | ||
| |_______| |___||
|----------------------|
footer
Div a定位使用margin:0 auto;和div b需要与div a相同的高度。我可以让这个与位置一起工作:绝对,但它在我的div下面拉我的页脚。这就是我目前所拥有的:
#a{
margin: 0 auto;
width: 800px;
border: 1px solid green;
padding-top: 30px;
padding-left: 10px; padding-right: 10px;
}
#b{
position: absolute;
display:block;
right:0;
width: 300px;
border: 1px solid blue;
padding-right: 15px;
margin-left: 10px;
background-color: #fff;
}
现在,div b在右边,但在div下面。如何在不使我的页脚受绝对定位影响的情况下垂直对齐?
答案 0 :(得分:0)
看起来div a距离屏幕顶部30px。由于div b是绝对定位的,所以您需要做的就是从顶部设置一个位置。将其添加到您的#b
css:
#b{
position:absolute;
display:block;
right:0px;
top:30px;
...
}
这将把它定位在同一高度。 (假设div a实际上是从顶部开始的30px)
答案 1 :(得分:0)
看来你的问题是你绝对定位的div没有相对定位的父母。
你可以试试这个:
.container
{
position:relative;
}
#a
{
margin: 0 auto;
width: 800px;
border: 1px solid green;
padding-top: 30px;
padding-left: 10px; padding-right: 10px;
}
#b
{
position: absolute;
display:block;
right:0;
top:0;
width: 300px;
border: 1px solid blue;
padding-right: 15px;
margin-left: 10px;
background-color: #fff;
}
然后你的html如下:
<div class="container">
<div id="a"></div>
<div id="b"></div>
</div>