在css设置高度height:100滚动条不出来,设置具体好使

事实上浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度,否则,浏览器就会简单的让内容往下堆砌,页面的高度就无需考虑。因为页面并没有缺省的高度值,所以当你让一个元素的高度设定为百分比,无法获取到父级的高度,自然也无法计算自己的高度。...
在css设置高度height:100滚动条不出来,设置具体好使
在前端浏览器的页面加滚动条时,想要设置高度百分之百,之后垂直滚动条不出来,而设置px却好使。

这块没有截图。。。。。(因为我是解决了问题之后总结)

HTML中块级元素设置height:100%的实现

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

为什么height:100%不起作用无效呢?

按照常理,当我们用CSS的height属性定义一个元素的高度时,这个元素应该按照设定在浏览器的纵向空间里扩展相应的空间距离。例如,如果一个div元素的CSS是height:100px;,那它应该在页面的竖向空间里占满100px的高度。而跟w3c的规范,百分比的高度在设定时需要根据这个元素的父元素容器的高度。所以,如果你把一个div的高度设定为height:50%;,而它的父元素的高度是100px,那么,这个div的高度应该是50px。

当设计一个页面时,你在里面放置了一个div元素,你希望它占满整个窗口高度,最自然的做法,你会给这个div添加height:100%;的css属性。然而,如果你要是设置宽度为width:100%;,那这个元素的宽度会立刻扩展到窗口的整个横向宽度。高度也会这样吗?



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

但是高度的据计算方式完全不一样。事实上浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度,否则,浏览器就会简单的让内容往下堆砌,页面的高度就无需考虑。因为页面并没有缺省的高度值,所以当你让一个元素的高度设定为百分比,无法获取到父级的高度,自然也无法计算自己的高度。换句话说父元素的高度只是一个缺省值: heightauto.当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果。也就是一个null值,浏览器不会对这个值有任何的反应。

父元素没有设定固定高度,于是子元素的高度height:100%也不会起作用。

那么,如果想让一个元素的百分比高度: height:100%起作用,你需要给这个元素的所有父级元素的

高度都设定一个值。

换句话说,需要给     body和html元素的高度都设置为height:100%下面的div的高度

的百分比才会生效2022-06-11
mengvlog 阅读 12 次 更新于 2025-06-21 02:44:13 我来答关注问题0
  • 在编写CSS样式时,我们有时会遇到设置div元素高度为100%,并添加overflow-y: auto; 以期望显示垂直滚动条,但实际效果并未出现滚动条的情况。经过一番尝试与探究,终于找到了问题所在。正确设置div元素显示滚动条的关键在于确保包含该div元素的所有父元素的高度也为100%。只有这样,滚动条才会在div内部正常...

  • 在CSS中,设置行高的方法主要通过lineheight属性来实现,以下是详细解答:1. 基本用法: lineheight属性可以设置固定的值或相对值。 固定值:例如lineheight: 24px;,行高被设置为24像素。 相对值: 百分比:例如lineheight: 150%;,行高是当前字体大小的150%。 数字:例如lineheight: 1.5...

  •  誉祥祥知识 CSS行高该怎么写

    CSS行高可以通过“line-height”属性来设置。解释如下:1. CSS中的行高属性 在CSS中,我们可以通过“line-height”属性来设置文本的行高。这个属性决定了元素内文本行框的最小高度,包括文本字体大小、上下间距等。2. “line-height”属性的值类型 “line-height”属性可以接受多种类型的值。最常见的包括...

  •  翡希信息咨询 css中line-height与height的区别?

    在CSS中,lineheight和height的区别主要体现在它们的定义、用途以及影响的内容上:height属性: 定义与用途:用于设置HTML元素的高度。 具体内容:接受多种类型的值,如具体的像素值、百分比、自动值等。指定后,元素的高度将被设置为该值,包括内容区域的高度以及可能的内边距和边框。lineheight属性: 定义...

  •  校企律说法 css中min-height和height的问题

    明确答案: 在CSS中,`height`属性定义元素的高度,而`min-height`属性定义元素的最小高度。当元素的实际高度低于`min-height`时,浏览器会扩展元素的高度以满足最小高度的要求。如果超过设定的高度,内容会溢出容器。而`height`则设定一个固定的值或相对值作为元素的高度。如果内容超出设定的固定高度,...

檬味博客在线解答立即免费咨询

CSS相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部