1. 前言
最近要实现一个页面上的小需求,就是页面头部固定,但是左侧菜单
和内容
是可以滚动的,也就是基础的后台系统
的三栏式
,如图所示:
当然,这种页面对于十年代码经验常年摸鱼的我来说,简直就是just so so
,接下来开始分析。
2. 分析&实现
2.1 实现
首先,既然头
和内容
的布局是跟随浏览器的,所以一整个页面必定采用flex
布局。所以,基本页面的架构差不多是这样写的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
}
.container {
display: flex;
flex-direction: column;
overflow: hidden;
height: 100%;
width: 100%;
}
.header {
flex-basis: 50px;
background-color: burlywood;
flex-shrink: 0;
}
.body {
flex: 1;
overflow: auto;
background-color: brown;
}
.left {
width: 200px;
height: 100%;
overflow: auto;
background-color: blueviolet;
}
.right {
height: 100%;
flex: 1;
overflow: auto;
}
.main {
display: flex;
flex: 1;
overflow: hidden;
}
</style>
</head>
<body>
<div class="container">
<header class="header"></header>
<div class="main">
<div class="left"></div>
<div class="right">
</div>
</div>
</div>
</body>
</html>
复制代码
示例如下
2.2 测试
这里进行简单的测试,进行内容填充
:
可以看到,基本效果可以。至此一个基础的布局就完成了。
3. 总结
一个基础的三栏式
布局可以使用弹性布局
,当然,在实际项目中,还得考虑响应式
,当然简单的就是设置min-widht
,min-height
了。
有兴趣点个赞
。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END