美文网首页
如何让 height:100%; 起作用

如何让 height:100%; 起作用

作者: 小竹子爱广播 | 来源:发表于2016-09-17 16:56 被阅读0次

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

而跟W3C的规范,百分比的高度在设定时需要根据这个元素的父元素容器的高度。

那为什么 height:100%; 不起作用?

首先:

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

但是高度的计算方式完全不一样。事实上,浏览器根本就不计算内容的高度,高度为:auto;会根据内容的高度逐步往下堆叠。

因为页面的高度值为:auto,所以,当你让一个元素的高度设定为百分比高度时,那么0px*100%=0px。换句话说,父元素的高度只是一个缺省值:height: auto;。当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果。也就是一个null值,浏览器不会对这个值有任何的反应。

所以,如果想让一个元素的百分比高度height: 100%;起作用,你需要给这个元素的所有父元素的高度设定一个有效值:

<html>

   <head>

.....

<style type="text/css">

html,body{height:100%;}

div{ height:100%;}

</style>

  </head>

 <body>

     <div></div>

 </body>

</html>

height: 100%;起作用了。

相关文章

  • 如何让 height:100%; 起作用

    当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这...

  • 如何让 height:100%起作用

    当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这...

  • 如何让 height:100%; 起作用

    按常理,当我们用CSS的height属性定义一个元素的高度时,这个元素应该按照设定在浏览器的纵向空间里扩展相应的空...

  • 如何让height:100%起作用

    当你设置一个元素的高度为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大对数情况下,这样做法没有任何效果,...

  • height:100%不起作用

    设置一个div 高度100%并没什么用...因为百分比是要获取父元素的长宽再进行换算..所以是获取不到父元素的高度...

  • 小程序开发中遇到的小问题(一)

    ⚠️设置height=100%不起作用 但是界面展示出来的height为0,根本没有看到我的tips_oneBtn...

  • 微信小程序 设置height 100%不起作用

    问题:小程序设置背景图片高度适应整个屏幕,设置height 100% 不起作用? .container-all{ ...

  • div高度100%

    在写代码时,总是会遇到想要 100%高度显示在浏览器上,但是设置了height:100%却不起作用。 将高度的st...

  • js地图定位记录

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

  • 如何让一个div占满全屏

    html{width: 100%;height: 100%;}body{width: 100%;height: 1...

网友评论

      本文标题:如何让 height:100%; 起作用

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