设置height:100%无效的原因以及两种解决方法

简介: 设置height:100%无效的原因以及两种解决方法

原因:我们知道在把盒子宽度自适应为浏览器窗口宽度,只需设置width:100%就可轻松解决问题,但是让盒子的高度自适应浏览窗口的高度并非那么容易,这是因为css内部计算的原因

<!-- 高度实际为字体大小 -->
<div class="box" style="width:100%;height:100%;background-color:red;">
    width:100%;height:100%;
</div>

解决方法一:设置父元素高度

html,
body {
  padding: 0;
  margin: 0;
  height: 100%;
}

备注:vue或者react等可以通过开发者模式查看当前父元素是谁

解决方法二:不用设置父元素高度,通过设置定位(fixed或absolute)解决

.box {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 0;
}

在使用height: 100%;时需要注意的一些事项

  1. margin 和 padding 会让你的页面出现滚动条,也许这是你不希望的。
  2. 如果你的元素实际高度大于你设定的百分比高度,那元素的高度会自动扩展。
相关文章
div高度设置100%无效的问题
div高度设置100%无效的问题
138 1
|
12天前
|
前端开发 JavaScript UED
在 max-height 属性的使用过程中有哪些需要注意的地方?
【10月更文挑战第27天】在使用`max-height`属性时,需要充分考虑其与其他属性的配合、对布局和内容显示的影响、兼容性问题以及在响应式设计和动态内容处理中的特殊情况等,通过合理的设置和调整,以实现预期的页面布局效果和良好的用户体验。
|
前端开发
border-radius属性失效问题的解决办法
border-radius属性失效问题的解决办法
236 0
|
前端开发 测试技术
请求时参数正常,先padding,后500bug
请求时参数正常,先padding,后500bug
64 0
|
前端开发
vcharts设置legend属性无效解决办法
内容概览 需求: 折线图上有 一个产品的目标值和实际值 ,通过点击其中一个legend,同时隐藏该产品的实际值和目标值(指折线图上的线) 当我觉得这个需求很 easy 的时候,居然发现 动态设置 legend 属性无效 …… 通过本文来记录这个解决过程,前端真是太难了 哈哈 在 v-charts 中, 折线图的写法如下: <ve-line :extend="chartExtend" :data="chartData" :events="chartEvents" height="58vh" ></ve-line>。 而 v-charts 是对 echart 的包装,很多事件都可以从 ech
1374 0
关于 QLineEdit设置QDoubleValidator设置范围无效问题 的解决方法
关于 QLineEdit设置QDoubleValidator设置范围无效问题 的解决方法
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法
Confluence 6 用户宏示例 - Color and Size
这个示例定义了如何向你宏中传递参数。我们将会创建一个字体样式宏,在这个宏中有 2 个参数,允许用户在这 2 个参数中指定宏中包含的字体的颜色大小。
1331 0