css中min-height和height的区别是什么?

html-css014

css中min-height和height的区别是什么?,第1张

当我们给块级元素设置响应式高度的时候,例如给div设置height=50%,往往没能看到效果。

原因是百分比的大小是相对其父级元素宽高的大小,如最外层元素设置的百分比是对应屏幕而言的。

需要了解的是对于宽度来说,其父级元素无须确定宽度就能设置百分比,例如我们可以利用这个特性给未知宽度的块级元素设置水平居中效果:

父元素css: position: relative/absoluteleft: 50%

子元素css: position: relativeleft: -50%

但高度则不同,若某元素的父元素没有确定高度,则无法有效使用height=XX%的样式,我们可以这样解决(假设最外层的div需要设置百分比高度样式):

html, body {

height: 100%

}

.outDiv {

height: 50%

}

不过这里有个需要注意的,若div里的内容超出了div的高度,在IE7+的浏览器是无法将div撑起来的(IE6则可以),如果要顾及这一点,可以使用min-height解决(当然也要考虑IE6不支持min-height的问题):

html, body {

height: 100%

}

.outDiv {

min-height: 50%

}

* html .outDiv {

height: 50%

}

最后说通俗点,如果你想把高度设为百分比,那么父级必须设置高度

网页视口尺寸

window.screen.height //屏幕高度,667

window.innerHeight //网页视口高度,553

document.body.clientHeight //body高度,网页内容的高度根据网页内容决定

vh网页视口高度的1/100

vw网页视口宽度1/100

vmax取两者(vh/vw)最大值

vmin取两者(vh/vw)最小值