我在ID为“容器”的div中有一个ID = “outer”的div。我试图调整相对于父级的外部div属性,即它的宽度,高度等应该相对于Container
div。我无法理解为什么它没有得到应用。我知道因为这个原因,我的菜单也没有调整。可以请一些人在我的代码中弄清楚错误吗?感谢。
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;
}
答案 0 :(得分:1)
您是否尝试添加:
position: relative;
到外部div?
答案 1 :(得分:0)
我找到了问题的主要原因。我的孩子div是根据浏览器定位和安排自己,而不是因为:
position:relative;
我将其替换为:
position:absolute;
参考
相对定位元素相对于其正常位置定位。相对定位元素的内容可以移动并与其他元素重叠,但元素的保留空间仍保留在正常流中。用于元素充当
Containers.
绝对定位元素相对于第一个具有静态位置的父元素定位。如果未找到此类元素,则包含的块为
html
标记。