设置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. 如果你的元素实际高度大于你设定的百分比高度,那元素的高度会自动扩展。
相关文章
|
6月前
|
前端开发
border-radius属性失效问题的解决办法
border-radius属性失效问题的解决办法
60 0
|
9月前
|
前端开发 测试技术
请求时参数正常,先padding,后500bug
请求时参数正常,先padding,后500bug
52 0
关于 QLineEdit设置QDoubleValidator设置范围无效问题 的解决方法
关于 QLineEdit设置QDoubleValidator设置范围无效问题 的解决方法
|
前端开发
vcharts设置legend属性无效解决办法
内容概览 需求: 折线图上有 一个产品的目标值和实际值 ,通过点击其中一个legend,同时隐藏该产品的实际值和目标值(指折线图上的线) 当我觉得这个需求很 easy 的时候,居然发现 动态设置 legend 属性无效 …… 通过本文来记录这个解决过程,前端真是太难了 哈哈 在 v-charts 中, 折线图的写法如下: <ve-line :extend="chartExtend" :data="chartData" :events="chartEvents" height="58vh" ></ve-line>。 而 v-charts 是对 echart 的包装,很多事件都可以从 ech
1131 0
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法