设置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月前
div高度设置100%无效的问题
div高度设置100%无效的问题
67 1
|
3天前
|
Android开发
setOnItemClickListener不起作用解决方法
setOnItemClickListener不起作用解决方法
22 2
|
6月前
|
前端开发
border-radius属性失效问题的解决办法
border-radius属性失效问题的解决办法
70 0
|
9月前
设置
字体分为,编辑器字体与代码的字体,这里我编辑器的字体使用的是编辑器本身的,代码的字体也是,只不过相对于代码的注释的字体和代码文件默认打开的显示大小我是有微调的,代码的注释字体为 KaiTi,代码默认打开的大小为 16,那么为啥是 16 呢而不是其它的数值呢,原因就是如果默认 16 的话,打开的代码片段刚好是在编辑器的纵坐标的分界线内,这个分界线自行去发现这里不介绍为界限是什么东西,如果有以为则在下方评论区留言即可我来解答(然后再往后的日子我发现设置 16 也不是非常的合理,自己根据自己的个人喜好来决定吧,反正我是设置的比较大字体)。
34 0
display:none到display:block失效问题及解决办法
display:none到display:block失效问题及解决办法
280 9
关于 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
1143 0
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法
popupwindow showAsDropDown 无效解决方法
|
安全 Windows
ToolStripStatusLabel 没有 InvokeRequired 属性的解决办法
ToolStripStatusLabel 没有 InvokeRequired 属性的解决办法 当编写多线程程序时,你希望在线程中修改 Form 窗体上的控件的文本等属性, 但你会得到一个错误:线程间操作无效: 从不是创建控件“xxx”的线程访问它。
1602 0