• 主页
  • 归档
  • 分类
  • 照片墙
所有文章 友情链接 关于我

  • 主页
  • 归档
  • 分类
  • 照片墙
目录,不存在的…

CSS布局(3)-Flex实践

2017-09-15 21:33:57
总字数 668
预计阅读时间 3 分钟

熟悉flex布局方式以后 , 就会发现flex布局十分灵活
19.1当中提到的多列布局
使用flex都可以以十分简洁的代码搞定

DOM结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="layout">
<aside class="layout_aside">侧边栏宽度固定</aside>
<div class="layout_main">主内容栏宽度自适应</div>
</div>
<div class="layout">
<div class="layout_main">主内容栏宽度自适应</div>
<aside class="layout_aside">侧边栏宽度固定</aside>
</div>
<div class="layout">
<aside class="layout_aside">左侧边栏宽度固定</aside>
<div class="layout_main">主内容栏宽度自适应</div>
<aside class="layout_aside">右侧边栏宽度固定</aside>
</div>
<div class="layout">
<aside class="layout_aside">第1个侧边栏宽度固定</aside>
<aside class="layout_aside">第2个侧边栏宽度固定</aside>
<div class="layout_main">主内容栏宽度自适应</div>
</div>
<div class="layout">
<div class="layout_main">主内容栏宽度自适应</div>
<aside class="layout_aside">第1个侧边栏宽度固定</aside>
<aside class="layout_aside">第2个侧边栏宽度固定</aside>
</div>

css样式

1
2
3
4
5
6
7
8
9
10
11
12
.layout {
height : 200px;
display: flex;
}
.layout > .layout_aside {
background-color: pink;
width : 100px;
}
.layout > .layout_main {
background-color: #ccc;
flex-grow: 1;
}

无论结构是什么样子 , 只要让main区域自动放大 , 侧边栏的宽度固定即可


对于常见的 上 左下 右下 将整个窗口区域分为3部分 , 并且外部区域没有滚动条的布局 ( 通常右下作为主内容显示区 , 这部分可以有自己的纵向滚动条 )
使用flex实现起来也十分简单 , 不需要使用js获取可视区域的尺寸进行控制

DOM结构

1
2
3
4
5
6
7
<div id="main">
<div class="top">我是顶部条</div>
<div class="down">
<div class="left">我是侧边栏</div>
<div class="content">我是主面板</div>
</div>
</div>

main是最外层的flex容器 , 其中包含top和down两个项目
down本身也是一个flex容器 , 其中包含left和content两个项目

CSS样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
* {
margin: 0;
padding : 0;
}
#main {
height : 100%;
display: flex;
flex-direction: column;
}
#main > .top{
height : 50px;
background-color: blue;
}
#main > .down {
display: flex;
flex-grow: 1;
}
#main > .down > .left{
width : 200px;
background-color: yellow;
}
#main > .down > .content {
flex-grow: 1;
background-color: pink;
}
  • 前端
  • css
  • 前端杂烩

扫一扫,分享到微信

CSS布局(4)-grid
CSS布局(2)-Flex 
© 2024 夏夜梦星辰
鲁ICP备19028444号
Power By Hexo
  • 所有文章
  • 友情链接
  • 关于我
{{searchItem.query}}
标签: 分类:
  • maven
  • 持续集成
  • JMS
  • 线程
  • JavaScript
  • ECMAScript6
  • 单元测试
  • Promise
  • Web Worker
  • 函数
  • prototype
  • 模块化
  • 正则表达式
  • 数据库
  • MongoDB
  • 索引
  • 集群
  • 全文检索
  • flutter
  • dart
  • git
  • 版本控制
  • linux
  • shell
  • docker
  • nginx
  • jenkins
  • opencv
  • vim
  • react
  • react native
  • 前端
  • css
  • HTML5
  • Hexo
  • sass
  • Three.js
  • TypeScript
  • Vue
  • 组件化
  • base64
  • webpack
  • nodejs
  • gulp
  • TensorFlow
  • 机器学习
  • 算法
  • 动态规划
  • 数据结构
  • Java
  • JavaScript
  • MongoDB
  • flutter
  • Git
  • linux
  • react
  • 前端杂烩
  • 男生女生
  • 算法
  • 十年饮冰,难凉热血
  • †少女癌†
  • 猫与向日葵
  • coderfun
  • JENKINS
  • API管理后台
愿你最终能接纳每一面每一种的自己
独自活着便是团圆