按常理,当我们用CSS的height属性定义一个元素的高度时,这个元素应该按照设定在浏览器的纵向空间里扩展相应的空间距离。例如,如果一个div元素的CSS是height: 100px;,那它应该在页面的竖向空间里占满100px的高度。

请看以下代码:

<html><body><div style="height: 100%;"><p>想让这个div高度为 100% 。</p></div></body>
</html>

现在给这个div的高度为100%,可是他为什么没有生效呢?

想要知道为什么,先拓展以下知识点

W3C的规范,百分比的高度在设定时需要根据这个元素的父元素容器的高度。所以,如果你把一个div的高度设定为height: 50%;,而它的父元素的高度是100px,那么,这个div的高度应该是50px。

Web浏览器在计算有效宽度时会考虑浏览器窗口的打开宽度。如果你不给宽度设定任何缺省值,那浏览器会自动将页面内容平铺填满整个横向宽度。

事实上,浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。

因为页面并没有缺省的高度值,所以,当你让一个元素的高度设定为百分比高度时,无法根据获取父元素的高度,也就无法计算自己的高度。换句话说,父元素的高度只是一个缺省值:height: auto;。

为了上上面代码生效,必须改成以下这样:

<html style="height: 100%;"><body style="height: 100%;"><div style="height: 100%;"><p>这样这个div的高度就会100%了</p></div></body>
</html>

为什么设置 height 100% 不起作用相关推荐

  1. vue中设置height:100%无效的问题及解决方法

    在vue.js中写新的components的时候,如果在新页面中的模板中设置height:100%的时候一直无效,在App.vue中:<template><div id=" ...

  2. [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗?

    [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗? html是body的父 ...

  3. 微信小程序设置width 100%有用,但height 100%不起作用的解决办法

    问题原因: %设定宽高是根据父级宽高来定的,假设页面并没有缺省的高度值,当你让一个元素的高度设定为百分比高度时,无法根据获取父元素的高度,也就无法计算自己的高度. 解决办法: 给页面设定一个绝对的高度 ...

  4. 为啥你的height:100%不起作用?

     1.百分比宽高 的设定   对于w3c中对width 与height的解释,可以明确%设定宽高是根据父级宽高来定的: 2.width:100% 随意写一段代码,设置一个背景颜色以便查看效果 可以看到 ...

  5. css设置height无效,CSS中设置height:100%无效的解决方案

    li 前面的缩进怎么去除? 异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 设置margin和padding为0或者为比较小的值就 ...

  6. CSS 如何让 height:100%; 起作用

    当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这样的做法没有任何效果.你知道为什么height:100%不起作用吗? 按常理,当我们用 ...

  7. css如何让height:100%起作用?

    原文出处:css如何让height:100%起作用? 当你设置一个元素的高度为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大对数情况下,这样做法没有任何效果,你知道为什么height:100 ...

  8. table height 100%问题

    背景:做项目时候,为了省事用table布局,table高度设置成100%,不起作用 原因: 有关浏览器工作模式大致可分为三种:Standarded Mode, Almost Standarded Mo ...

  9. html文字自动铺满页面,body height:100%让页面容器元素铺满窗口

    div 容器height:100% 我们想要让页面中的一个div容器能够实现自适应浏览器窗口的高度,这时候我们一般不希望牵扯js,简单的通过css的height:100%来实现高度的自适应. 这样是不 ...

  10. CSS子元素撑满父元素(height: 100%无效)

    原因分析 明确一点:子元素设置height: 100%需要父元素有确定的高度: 如果父元素高度是被子元素②撑起来的,此时我们想让子元素①撑满高度,height: 100%无效. 解决办法 父元素: p ...

最新文章

  1. 设计强大的云应用程序
  2. 工业用微型计算机(18)-指令系统(13)
  3. WARNING:Your password has expired --linux 用户密码过期
  4. python的数据类型_Python支持哪些数据类型
  5. 小物件之radio单选列表
  6. 2014中国企业面对的五大挑战
  7. linux设备驱动学习,linux设备驱动学习4
  8. 中国计算机学会通讯杂志,何积丰. Cyber-physical systems [J]. 中国计算机学会通讯, 2010, 6(1): 25-29....
  9. 导致微服务失败的 11 个原因
  10. 鸿蒙生态发布会,新日XC3亮相华为鸿蒙生态大会,这场合作值得期待!
  11. 连续投影算法_腾讯优图 | 3D结构光摄像头深度算法综述
  12. c语言程序怎么实现模块化,【干货】教你如何对一个大的项目进行模块化编程...
  13. HTML 多选框
  14. 常用芯片数据手册—— INA333 低功耗、精密仪表放大器(德仪)
  15. 财会行业男女薪资比例matlab,2004:会计师事务所薪资调查分析报告
  16. Java类属性字段校验(validation的使用)
  17. android倒影效果,Android 设置图片倒影效果
  18. python获取json数据,快速生成excel
  19. Vivado安装—Xilinx design tool already exists for 2019.1,specify a different program program group entr
  20. 设计公司怎样合理税收筹划,可以享受哪些税收政策?

热门文章

  1. Java继承结构中类的初始化
  2. BI前端展示工具评估
  3. 金融账务体系业务知识——汇总
  4. 小程序之地图标注以及导航
  5. 【JAVA笔记——道】Hadoop设计模式--抽象类
  6. freescale 基于arm m0的单片机
  7. Openwrt netifd ubus解析
  8. 获取图层字段的唯一值集合(ArcEngine)
  9. Java Maven简明
  10. 6.大数据架构详解:从数据获取到深度学习 --- 交互式分析