达拉~ 2022-06-09 09:31 采纳率: 64.7%
浏览 34
已结题

关于height:100%的生效问题

当父元素html和body没有设置height:100%时候,子元素设置height:100%是不生效的,但是如果子元素添加了定位,就可以生效,为什么,还有什么别的方式可以让元素height:100%生效,为什么

  • 写回答

1条回答 默认 最新

  • 王玖的解忧屋 2022-06-09 09:49
    关注

    首先CSS的高度宽度是继承关系。(但是如果子元素添加了定位,就可以生效)是因为开启定位,元素会脱离文档流,和其他没有开启的定位的元素不在同一个文档流。
    元素设定显示的高度值
    普通流元素的百分比高度起作用的话,其父级元素必须有一个生效的高度值!
    非绝对定位元素的百分比是相对于content box计算的。
    元素使用绝对定位
    绝对定位的百分比是相对于父元素(这里的父元素是定位元素,如果没有,那么就是相对于窗口)的padding box计算的。
    例如:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 6月9日