当前位置:首页 >> 网页制作

CSS 实现高度自适应铺满整屏的实现

在自己写demo的过程中,想使用display:flex实现垂直居中,代码如下:

<style>
    #login{
        width:100%;
        height: 100%;
        display: flex; 
        justify-content: center;
        align-items: center;
    }
    .login-body{
        width: 600px;
        height: 260px;
        border: 1px solid #000;
    }
</style>

并不能实现我想要的效果,外层的父元素高度没有占满整个屏幕。。

CSS 实现高度自适应铺满整屏的实现

解决:给#login一个min-height: 100vh,配合 display: flex; justify-content: center; align-items: center;实现垂直居中。

<style>
    #login{
        width:100%;
        min-height: 100vh;
        display: flex; 
        justify-content: center;
        align-items: center;
    }
    .login-body{
        width: 600px;
        height: 260px;
        border: 1px solid #000;
    }
</style>

CSS 实现高度自适应铺满整屏的实现

视口单位(Viewport units)

什么是视口?

在桌面端,视口指的是在桌面端,指的是浏览器的可视区域;而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Viewport(视觉视口),Ideal Viewport(理想视口)。

视口单位中的“视口”,桌面端指的是浏览器的可视区域;移动端指的就是Viewport中的Layout Viewport, “视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。。

根据CSS3规范,视口单位主要包括以下4个:

1.vw:1vw等于视口宽度的1%,视框宽度是100Vw。

2.vh:1vh等于视口高度的1%,视框高度是100Vh。

3.vmin:选取vw和vh中最小的那个。

4.vmax:选取vw和vh中最大的那个。