本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!
也许你会说,left/right以父元素的width为参照物好理解,但是top/bottom为什么也是以父元素的width为参照物的呢?网上众说纷纭,关键还是看W3C的规范:

Note that in a horizontal flow, percentages on ‘margin-top’ and ‘margin-bottom’ are relative to the width of the containing block, not the height (and in vertical flow, ‘margin-left’ and ‘margin-right’ are relative to the height, not the width).

Note that percentages on ‘padding-top’ and ‘padding-bottom’ are relative to the width of the containing block, not the height (at least in a horizontal flow; in a vertical flow they are relative to the height).

权威一出,记住就好,科科。

http://codepen.io/jianyeruan/pen/wMNPew

转载于:https://www.cnblogs.com/jayruan/p/5187507.html

都是以父元素的width为参照物的相关推荐

  1. 父元素与子元素的width关系

    第一部分:父子元素都是内联元素 代码演示如下: <!DOCTYPE html> <html> <head><title>fortest</titl ...

  2. html盒子模型子元素怎么水平占满父元素_立下flag)每日10道前端面试题18 关于【盒模型】十问...

    第一问:什么是盒模型? 可以说,页面就是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型由外而内包括:边距(margin).边框(border).填充(padding).内容(con ...

  3. 关于flex布局中,父元素高度auto,由一子元素撑开,另一子元素自适应高度问题

    .expressRecord-single-close {//父元素样式 width: 100%; height: auto; display: flex; justify-content: flex ...

  4. 子元素自动撑开父元素空间

    宽度 width !注意: 如果一个元素不添加width 属性,默认属性值为auto,不同的元素浏览器会根据其特点自动计算出实际宽度. 块级元素,其 width 属性的值会自动撑满父元素的 width ...

  5. 子元素无法撑开父元素的情况

    如果父元素已经规定了度,不会高度塌陷,但可能会溢出(如果子元素总高度超过父元素的话) 如果父元素没有规定高度: 2.1 如果所有子元素都浮动,父元素没有高度,这时候给父元素设置边框的话,就会发现边框保 ...

  6. html不能超出div的宽度,DIV设置width后超出父元素应该如何解决

    这次给大家带来DIV设置width后超出父元素应该如何解决,解决DIV设置width后超出父元素的注意事项有哪些,下面就是实战案例,一起来看一下. 前言 本文介绍的是利用CSS3的新属性box-siz ...

  7. div宽度设置width:100%后再设置padding或margin超出父元素的解决办法

    在设置了元素宽度width100%后再加上margin和padding超出父元素宽度,其实解决的方法很简单,直接使用CSS的 box-sizing 属性就可以解决这个问题,这个是CSS3新属性,可以将 ...

  8. 解决div宽度设置width:100%后再设置padding或margin超出父元素的办法

    前言: 有时候我们需要子div和父div一样宽(高),但是需要设置一定边距时,如果子元素使用width:100%在设置padding或margin的话,就会出现溢出问题. HTML <div c ...

  9. html 相对于父标签位置,css子元素如何相对父元素定位?

    在css中,可以使用position属性,通过给父元素设置相对定位"position:relative;"样式,给子元素设置绝对定位"position:absolute; ...

  10. js margin作用到父元素_CSS中margin-top对父级元素产生作用的问题

    在页面重构中,利用margin进行定位非常常见,然而margin-top这个属性经常会给我们带来一定的困扰,有时候不起作用,还把父层"拉"了下来,如图所示: 代码如下: test2 ...

最新文章

  1. Spark:group by和聚合函数使用
  2. linux脚本外输入参数,shell 脚本中关于用户输入参数的处理
  3. 争对让望对思野葛对山栀注解_笠翁对韵.支_李召洋、于婷、杨盼兮、于婷_高音质在线试听_笠翁对韵.支歌词|歌曲下载_酷狗音乐...
  4. 015. Object event handling debug - Parameter COM_IOITF_DEBUG
  5. centos系统时间不准
  6. 房屋征收管理系统高保真原型征收项目管理(项目预警)房屋测绘管理(测绘确权)协议管理测绘报表管理web端后台管理系统
  7. 如何下载行政区划数据
  8. linux usb拔出防止抖动,Linux 下监控USB设备拔插事件
  9. android 播放语音anr,Android语音合成出现ANR
  10. 微博千万级规模高性能高并发的网络架构设计
  11. GitHub中文排行榜,帮助你发现高分优秀中文项目
  12. python少儿培训视频教程
  13. 超声延时聚焦原理及算法仿真
  14. oracle数据库查询904错误,EXP-00008:遇到ORACLE错误904问题详解
  15. 三维点云语义分割基础知识
  16. arp: 查看,为主机添加一个arp 表项
  17. java- string转成 json
  18. android10代码开启横幅通知,Android通知以编程方式启用横幅设置
  19. apache 支持下载rar格式文件问题
  20. unreal无损音乐百度云_Roxette女主唱Marie Fredriksson - Den Standiga Resan 个人瑞典语专辑 [APE]...

热门文章

  1. FindBoost 查找Boost的inlude目录和库
  2. Snmp的学习总结——Snmp的基本概念
  3. 2013年第四届蓝桥杯C/C++B组省赛题目解析
  4. [算法]华为笔试题——字母和十进制数映射
  5. locate-updatedb命令检索不全
  6. 常用命令(3)---Assertion(selenium学习笔记(一)seleniumIDE)
  7. 20154319 实验七 网络诈骗技术防范
  8. 老男孩大趴会笔记分享
  9. arguments.callee 指向正在执行的函数的指针
  10. C#基础笔记(第十天)