margin-top的坑

下面有一段代码
HTML部分

<div class="jd_header_content">
       <a href="#" class="icon_logo"></a>
       <form action="#">
             <span class="icon_search"></span>
             <input type="search">
       </form>
       <a href="#" class="login">登录</a>
 </div>

CSS部分

.jd_header_content{
    height: 100%;
    min-width: 300px;
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    background-color: rgba(201,21,35,0.85);
}

.jd_header_content form{
    margin-top: 5px;
    padding-left: 75px;
    padding-right: 65px;
    width: 100%;
    height: 30px;
}

就会出现问题如图

Paste_Image.png

原本打算是让form与顶部有5px的间距,但是不但没有出现,还使父标签的顶部出现了5px的间距。
这是因为当两个div盒子在嵌套的时候,如果斗使用了margin-top(margin-bottom)的时候1.这个margin-top的值会被层叠到外层的div上面。2.取两个之中的较大值。就像上面这个例子中的,父标签margin-top 的值是0,子标签的margin-top的值是5px,那么这个就会取5px这个值。
这种情况只会出现在垂直方向,再水平方向不会出现这种情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 1、居中的n种方法: ①、margin: 0 20%; ——设置margin上下外边距的值设置为0,左右外边距设置...
    何wife阅读 384评论 0 2
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,309评论 0 5
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,867评论 0 6
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,089评论 0 1