内部div的CSS margin-top推动父div下降

时间:2013-08-23 18:53:12

标签: css html

我试图将子div降低到父div中的5px。当我在内部div上放置 margin-top:5px; 时,它会从父div上方的div中向下推送内部div和父div,但是不会将内部div从父级推下来DIV。如何设置它以便只将内部div从父div推下5px?我不希望父div从它上面的div下推。谢谢你的帮助。

用于导航的HTML:

<nav>
    <div class="nav-container">
      <div id="cat_14623_divs">
          <ul id="nav_14623">
              <li><a href="#" onclick="return false;">AKINA &amp; RED LAKE</a</li>       
              <li><a href="#" onclick="return false;">FRESH WILD CAUGHT FISH</a>
                   <ul id="navsub_14623_2326">
                       <li><a href="#" onclick="return false;">WALLEYE</a></li>
                       <li><a href="#" onclick="return false;">PERCH</a></li>
                       <li><a href="#" onclick="return false;">CRAPPIE</a></li>
                       <li><a href="#" onclick="return false;">NORTHERN</a></li>
                       <li><a href="#" onclick="return false;">WHITEFISH</a></li>
                  </ul></li>
              <li><a href="#" onclick="return false;">NEWS FROM THE FISHERY</a></li>
              <li><a href="#" onclick="return false;">CONTACT US</a></li>
              <li class="last"><a href="#" onclick="return false;">FAQs</a></li>
         </ul>
      </div>
    </div>
</nav>

导航CSS:

nav{
position:relative;
width:960px;
background-color:#660000;
height:40px;
}

div.nav-container{
position:relative;
width:100%; 
}

#cat_14623_divs{
margin-top:5px;
height:30px;
background-color:#520000;
width:960px;    
}

#nav_14623{
list-style:none;
display:block;
padding:0;
width:80%;
margin:0 auto;
}

#nav_14623 li{
position:relative;
float:left;
padding: 0.5em 1.5em;
margin: 0px;
font-size:12px;
border-right:solid 2px #fff;
text-align:center;  
}

#nav_14623 li.last{
border-right:none;
padding-right:5px;
}

#nav_14623 li a{
color:#FFF;
text-decoration:none;
}

#nav_14623 ul{
position: absolute;
left:0;
top: 100%;
display: none;
    padding: 0 1000em; /* trick from css-tricks comments */
    margin: 0 -1000em; /* trick from css-tricks comments */
list-style: none;
margin-left: 0px;
margin: 0;
padding: 5px;
width:200px;
z-index: 1000;
background: #660000;
    border-left: 1px solid #336699;
    border-right: 1px solid #336699;
    border-bottom: 1px solid #336699;
    border-top: none;
 }

#nav_14623 ul li{
position: relative;
float: none;
border-right: none;
padding:0;
margin: 0;
}

#nav_14623 ul li a{
color: #fff;
font-size: 12px;
vertical-align: middle;
line-height:32px;
width: 100%;
height:35px;
display:block;
}

#nav_14623 ul li a:hover{
background: #520000;
width: 100%;
}

#nav_14623 li:hover > ul{
display: block;
}

#nav_14623:after {
content: ""; clear: both; display: block;
}

以下是您想要查看网站的网址: http://redlakewalleye.designangler.com/

2 个答案:

答案 0 :(得分:9)

而不是孩子的margin-top,您应该使用padding-top给父母。

更新(作为对您的评论的反应)

保证金需要反弹。由于父div没有任何反弹,它会反弹在它上面的元素上。因此你应该使用填充。

答案 1 :(得分:0)

当边距触及时,问题是折扣边距 - http://www.sitepoint.com/web-foundations/collapsing-margins/