height:100%无效

作者: zhao_ran | 来源:发表于2022-06-10 22:58 被阅读0次

我们有时会在CSS里写height: 100%,发现并无效果,如下:

<div class="block"></div>

* {
  padding: 0;
  margin: 0;
  border: 0;
}
body {
  background-color: green;
/*   height: 100%; */
  border: 5px solid greenyellow;
}
.block {
  width: 100%;
  height: 100%;
  background-color: red;
}

block类div的高度并未按照我们预想那样撑满全屏高度

block类的父级(包含块)是bodybody在未设置值的时,height值为autobody的实际计算高度为内容撑开的高度,即为0(可以将上述代码的border样式取消注释,可看到body的高度)

那么子元素block类的高度即等同于0

body {
    background-color: azure;
    height: auto;
}
.block {
    width: 100%;
    height: 0 * 100%; // 0
    background-color: red;
}

所以此时block类所在的div盒子的高度无效,height为0,即在浏览器上无渲染高度
浏览器的渲染规则可理解记忆为:深度优先遍历计算
子元素的相对单位的计算值都是基于父/祖先元素对应的属性值,auto是基于内容区域撑开计算所得。
浏览器渲染HTML文档流,背景色默认为白色,如果文档中的html、body标签设置了背景色,这两个标签的背景色实际设置的是浏览器视口的背景色。

相关文章

  • height:100%无效

    我们有时会在CSS里写height: 100%,发现并无效果,如下: block类div的高度并未按照我们预想那样...

  • CSS 基础

    1、div{height:100%}无效,容器高度无法铺满整个屏幕。代码设置

  • 继承min-height

    父元素设置了min-height 子元素设置height:100%;无效 给父元素加绝对定位,子元素加相对定位 如...

  • iframe height 100% 无效问题

    应用场景: vue + mui,用hbulider打包后,嵌套其它网页,在网上查HTML页面嵌套 的解决方案,选择...

  • 小程序camera组件全屏

    width 和 height 都设置为 100% 时,实际是无效的。 真机测试: 宽度确实是 100%但是高度只有...

  • 实现滚动到一定位置时,导航栏置顶的效果

    html部分 css部分 js 注意:如果css中设置的height:100%,则这个滚动无效果

  • 对行内元素,需要注意如下

    设置宽度width 无效。 设置高度height 无效,可以通过line-height来设置。 设置margin ...

  • 如何保证height:100%;有效

    今天遇到个问题,我将video组件设置height:100%;无效。(PS:已排除绑定数据问题) wxml文件: ...

  • vue小项目总结2

    vue小项目总结2: 页面适应全屏 1、直接给body设置height:100%发现无效,原因是html根标签没有...

  • js地图定位记录

    html, body { height: 100%; } #map { width: 100%; height: ...

网友评论

    本文标题:height:100%无效

    本文链接:https://www.haomeiwen.com/subject/vrqimrtx.html