全屏布局的特点:
1.布局撑满窗口,当浏览器变大的时候,布局也是充满浏览器的窗口
2.滚动条出现在内容区域
2种解决方案
position
flex
第一种方式position
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
*{
padding: 0;
margin: 0;
}
html,body,.box{
width: 100%;
overflow: hidden;
/*把滚动条禁掉,即使内容超出宽高,也不会超出*/
}
.top{
height: 100px;
position: absolute;
top: 0;
left: 0;
right: 0;
background: pink;
}
.left{
width: 200px;
position: absolute;
left: 0;
top: 100px;
bottom: 50px;
background: greenyellow;
}
.right{
position: absolute;
left: 200px;
top: 100px;
right: 0;
bottom: 50px;
background: blueviolet;
overflow: auto;
}
.bottom{
height: 50px;
position: absolute;
bottom: 0;
left: 0;
right: 0;
background:black;
}
.right .inner{
height: 2000px;
}
</style>
</head>
<body>
<div class="box">
<div class="top"></div>
<div class="left"></div>
<div class="right">
<div class="inner"></div>
</div>
<div class="bottom"></div>
</div>
</body>
</html>
第一种方式也也以实现百分比缩放的效果,在这里就不写了。下面是flex的百分比的形式。
第二种解决方案
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
*{
padding: 0;
margin: 0;
}
html,body,.box{
height: 100%;
overflow: hidden;
}
.box{
display: flex;
flex-direction: column;
}
.top{
height: 10%;
background: pink;
}
.center{
flex: 1;
background: yellow;
display: flex;
}
.left{
width: 20%;
background: red;
}
.right{
flex: 1;
overflow: auto;
}
.bottom{
height: 5%;
background: black;
}
.right .inner{
height: 2000px;
}
</style>
</head>
<body>
<div class="box">
<div class="top"></div>
<div class="center">
<div class="left"></div>
<div class="right">
<div class="inner"></div>
</div>
</div>
<div class="bottom"></div>
</div>
</body>
</html>