0

我在一个 ID 为"Container"的 div 中有一个 ID= "outer"的 div 。我正在尝试调整相对于父级的外部 div 属性,即它的宽度、高度等应该相对于div。我不明白为什么它没有被应用。我知道因为这个原因,我的菜单也没有调整。请有人找出我的代码中的错误吗?谢谢。Container

HTML 代码:

<body>
<div id="container">
<header>
<img width="60%" alt="Logo" src="images/logo.jpg">
<div id="divHeader"><br /><br />
<input type="text" placeholder="Enter text here">
<input type="radio" value="Pages" checked="true" name="searchOpt">Pages
<input type="radio" value="Contact People" name="searchOpt"/>Contact People
<input type="button"  value="Search"/>
</div>
</header>
<!--pop up menu-->
<div id="outer">
<div id="menu">
<ul id="nav">
    <li id="nav1"><a href="">News & Events</a></li>
    <li id="nav2"><a href="">Facilities</a></li>
    <li id="nav3"><a href="">Research</a></li>
    <li id="nav4"><a href="">Programmes</a></li>
    <li id="nav5"><a href="">Faculty</a></li>
</ul>
</div>
</div>
</div>
</body>

CSS 代码:

body { 

background-color:#0a1857;
}
#container
{
width:80%;
height:100%;
background-color:#FFFFFF;
position:fixed;
right:10%;
left:10%; 
}
header
{
width:100%;
height:15%;}

#divHeader
{
float:right;}

#outer
{
padding-left:20%;
width:80%;
height:40%;
background-image:url('images/image_31.jpg');
background-repeat:no-repeat;
background-position:center; }

#menu { 
position:relative;
top:220px;
right:170px;  
 width:108%;
height:20%;
text-align:center;
}
#menu a { 
display: block; 
text-decoration: none; 
color: #3B5330;}
#menu a:hover { background: #B0BD97;}

#menu ul li {
font:12px georgia; 
list-style-type:none;
float: left; 
width: 20%; 
font-weight: bold; 
border-top: solid 1px #283923; 
border-bottom: solid 1px #283923; 
background: #979E71;}
#menu ul li a { 
font-weight: bold;
padding: 15px 10px;}
#menu li{ 
position:relative; 
float:left;}
#popup_menu ul li
{
float:none;
 }
4

2 回答 2

1

您是否尝试添加:

position: relative;

到外部div?

于 2012-09-26T16:36:30.490 回答
0

我找到了问题的主要原因。我的孩子 div 是根据浏览器定位和安排自己的,而不是像父母那样,因为:

position:relative;

我将其替换为:

position:absolute;

这里参考

相对定位元素相对于其正常位置进行定位。相对定位的元素的内容可以移动并与其他元素重叠,但在正常流程中仍会保留该元素的预留空间。用于元素充当Containers.

绝对定位元素是相对于第一个具有非静态位置的父元素定位的。如果没有找到这样的元素,则包含块是html标记。

于 2012-09-26T21:43:51.110 回答