内部 div 上的 CSS margin-top 将父 div 向下推

标签 css html

<分区>

我试图将子 div 向下推到父 div 内部 5px。当我将 ma​​rgin-top:5px; 放在内部 div 上时,它会将内部 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/

最佳答案

您应该在父级上使用 padding-top,而不是在子级上使用 margin-top

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

利润率需要一些反弹。由于父 div 没有任何东西可以弹跳,它会弹跳到它上面的元素上。因此,您应该使用填充。

关于内部 div 上的 CSS margin-top 将父 div 向下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18409899/

相关文章:

jQuery UI Resizable - 多个 DIV 调整大小插入其他 DIV

javascript - jQuery 查找动态输入名称

html - 为什么这个网站完全适合移动 View ?

html - 页脚在页面中途弹出

html - 如何在计算机屏幕上模拟灰白色纸张的外观

javascript - 延迟问题的逆转过渡

html - 如何使用动态内容的 CSS 流体间距保持对称

css - 编译 SCSS 文件

html - 优化流体网格布局

javascript - 如何在我的 jQuery 导航菜单中正确定位箭头?