子元素的margin-top属性传递给父元素的问题

这个问题发生的原因是根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会  和其内部文档流中的第一个子元素的上边距重叠。

一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。

再说白点就是:父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自    己“领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的 border或者padding就可以有效的管制这个目无领导的  margin 它越级,假传圣旨,把自己的margin当领导的margin执行。

margin-top与top的区别

1、使用top、bottom、left、right的前提是本元素position被定义为relative、absolute和fixed中的一种,不能是static

2、使用margin-top、margin-bottom、margin-left、margin-right的元素的position可以是static、relative、absolute和fixed

position各个属性值区分

1、本元素使用position的absolute时,margin-top以及top等属性表示相对父元素中position被定义为relative、absolute和fixed中的一种,如果直接父元素中没有被定义为relative、absolute和fixed的,那么一次向上寻找,直到body为止

2、本元素使用position的relative时,margin-top以及top等属性首先找相邻的元素,如果相邻的元素中有被定义为relative或者static的元素,则相对相邻的元素偏移,如果相邻元素没有被定义为relative和static,则相对父元素,父元素可以是static、relative、absolute、fixed的任意一种,其中要注意本元素在四个方向上的相邻元素是不同的!

3、本元素使用position的fixed时,margin-top以及top等属性表示相对body

4、static很少使用

总结起来:absolute是相对父元素的;relative首先是相对相邻元素,如果相邻元素不满足条件再相对父元素;fixed是相对body的

margin-top、top、以及position的总结相关推荐

  1. sqlserver中的分页sql语句,不同于mysql中的limit,相当于top+top

    方法1:适用于 SQL Server 2000/2005 SELECT TOP 页大小 *FROM table1WHERE id NOT IN (SELECT TOP 页大小*(页数-1) id FR ...

  2. 在才开始进入前端这个坑的时候 在布局中会遇到很多问题 我才入这个坑的时候 在margin top 中遇到几个bug 我分享一下...

    margin top的bug 当子元素和父元素是纯元素 没有内容的时候,我们去调整子元素的margin:top, 他会误以为是要调整父元素 解决方案: 1.给父元素设置一个边框 2.父元素加overf ...

  3. 盒子模型,top和margin-top

    1. 标准盒子模型: width只是内容的宽度. 元素的总宽度=width + padding*2 +border*2 +margin*2. IE盒子模型: width=内容的宽度 + padding ...

  4. CSS top、margin-top和padding-top的区别

    参考文献 CSS padding 属性 CSS里的padding是什么意思? CSS margin 属性 top.margin-top的区别 padding指内边距,是盒子里面内容到边框的距离,不允许 ...

  5. 实用的60个CSS代码片段[转] 博客链接:http://blog.poetries.top

    1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{position: rel ...

  6. jsp大作业实现TOP粉丝俱乐部

    jsp大作业,题目:TOP粉丝俱乐部,实现功能:登陆,注册,主页信息查看,购买周边,留言板,喜爱程度测试,对粉丝俱乐部的意见调查. login.jsp 登录页面: <%@page content ...

  7. html 更改元素坐标,利用JS修改元素的位置属性,为什么style.left可行而style.top失效?...

    Q.想利用JS中的move函数实现小图的斜线下移,但是明明代码几乎一样,left的移动可以实现,top却怎么也动不了 台球桌 *{ padding:0; margin:0; } div{ backgr ...

  8. (4)top详解 (每周一个linux命令系列)

    (4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...

  9. 生成小分子力场TOP

    生成小分子力场TOP 自动化工具是非常受欢迎的.对于每一个力场,都有一些方法或软件程序可以提供与各种力场兼容的参数.并不是所有的结果都一样准确.有几个例子,请参考下表: 力场 自动化工具 备注 AMB ...

最新文章

  1. malloc calloc realloc的对比
  2. oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...
  3. webstorm卡顿问题
  4. CoreCLR源码探索(三) GC内存分配器的内部实现
  5. 计算机辅助工程分析及应用论文,计算机辅助工程计量的论文
  6. 三星 6.01 android操作系统耗电,三星6.01系统耗电加快是为什么
  7. HTTP1.1与HTTP1.0
  8. mysql联合查询_mysql中的联合查询
  9. 硬件 JavaScript - 一个【电阻分压器 - 计算器】
  10. 模型计算机微指令总表,基于微程序控制器的模型计算机设计
  11. 北大30岁女博导获2019 IEEE青年成就奖,全球仅三人,深耕微纳电子、神经形态计算
  12. 更改会话语言oracle,alter session 修改的参数值在会话中如何回退
  13. 制作名片设计需要哪些要素
  14. C语言fscanf函数的理解
  15. 企业邮箱收费标准是多少?公司邮箱费用是多少?
  16. centos下载安装软件总结
  17. 自动控制系统的时域分析法——一阶系统的时域分析
  18. STM32驱动温湿度传感器HTU21D
  19. Error:python-neutron conflicts with python2-eventlet-0.18.4-1.el7.noarch(安装openstack-neutron出现的问题解决)
  20. 电子计算机控制器都有哪些,计算机的控制器由什么组成

热门文章

  1. 如何让搜索引擎搜索到自己的个人博客网站(如何提交网站到各搜索引擎,如百度、必应Bing,以及提交页面URL的地址)
  2. X86-64、X64、X86
  3. Java面试题集(116-135)
  4. 测试两个主机之间的连通性_网络连通性测试工具—PING
  5. 语音搜索引擎--Midomi
  6. Windows自带的造字功能使用
  7. < Linux > 操作系统
  8. vscode预览html插件,VSCode插件推荐-VSCode内嵌浏览器插件-Browser Preview
  9. fceux源码解析_FCEUX金手指加强版 - 使用Lua脚本语言编写FC/NES金手指脚本
  10. 用于威胁情报分析的虚拟机