如果对flex不是很熟悉的同学,可以看一下我的另一篇文章Flex 布局

1、网格布局

1.1、基本网格布局

最简单的网格布局,就是平均分布。

HTML代码如下。

1/2
1/2

1/3
1/3
1/3

CSS代码如下。

.Grid {

display: flex;

}

.Grid-cell {

flex: 1;

background: #eee;

margin: 10px;

}

这里最关键的就是flex:1使得各个子元素可以等比伸缩

1.2、百分比布局

某个网格的宽度为固定的百分比,其余网格平均分配剩余的空间。

HTML代码如下。

50%
auto
auto

auto
50%
1/3

CSS代码如下。

.col2 {

flex: 0 0 50%;

}

.col3 {

flex: 0 0 33.3%;

}

这里最关键的是通过flex的第三个属性,也就是flex-basis来定义元素占据的空间。

2、圣杯布局

圣杯布局(Holy Grail Layout:)指的是一种最常见的网站布局。页面从上到下,分成三个部分:头部(header),躯干(body),尾部(footer)。其中躯干又水平分成三栏,从左到右为:导航、主栏、副栏。

HTML代码如下。

header

content

nav

aside

footer

CSS代码如下。

.container {

display: flex;

flex-direction: column;

min-height: 100vh;

}

.body {

display: flex;

flex: 1;

}

header,

footer {

flex: 0 0 100px;

}

.content {

flex: 1;

}

.ads,

.nav {

flex: 0 0 100px;

}

.nav {

order: -1;

}

.bg {

background: #eee;

margin: 10px;

}

@media (max-width: 768px) {

.body {

flex-direction: column;

flex: 1;

}

.nav,

.ads,

.content {

flex: auto;

}

}

这里面需要注意的点有

container的flex-direction: column这样保证了header,body,footer是在垂直轴上排列

header,footer的高度可以通过flex: 0 0 100px来控制

nav可以通过order:-1来调整位置

通过@media (max-width: 768px)来调整小屏幕的页面结构

3、侧边固定宽度

侧边固定宽度,右边自适应

html代码如下。

aside
header
content
footer

CSS代码如下。

.bg {

background: #eee;

margin: 10px;

}

.container1 {

min-height: 100vh;

display: flex;

}

.aside1 {

/* flex: 0 0 200px; */

flex: 0 0 20%;

}

.body1 {

display: flex;

flex-direction: column;

flex: 1;

}

.content1 {

flex: 1;

}

.header1, .footer1 {

flex: 0 0 10%;

}

这个和上面的基本差不多就不做解释了。

4、流式布局

每行的项目数固定,会自动分行。

html代码如下

css代码如下

.container2 {

width: 200px;

height: 150px;

display: flex;

flex-flow: row wrap;

align-content: flex-start;

}

.item {

box-sizing: border-box;

background: #eee;

flex: 0 0 20%;

height: 40px;

margin: 5px;

}

这里主要使用到了flex-flow: row wrap使得子元素水平排列,并且换行

总结

这是我简单总结的一些布局。如有错误,欢迎指正。更多系列文章

flex布局HTML实例,Flex常见布局实例相关推荐

  1. html国字型布局,结合CSS3的布局新特征谈谈常见布局方法

    写在前面 最近看到<图解CSS3>的布局部分,结合自己以前阅读过的一些布局方面的知识,这里进行一次基于CSS2.3的各种布局的方法总结. 常见的页面布局 在拿到设计稿时,作为一个前端人员, ...

  2. Android中的常见布局

    文章目录 1 常见布局 2 创建布局的方式 1 常见布局 Android中的常见布局如下: 线性布局(LinearLayout): 相对布局(RelativeLayout): 帧布局(FrameLay ...

  3. 使用Flex实现常见布局的思路总结

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 来源 | https://www.cnblogs.com/wanglinmantan/p/15092001.html flex全称Flex ...

  4. 移动web开发--移动端常见布局+流式布局和flex布局+携程网首页案例

    浏览器私有前缀 为了兼容老版本 私有前缀 -moz- : fixfox 浏览器私有属性 -ms- : ie浏览器私有属性 -webkit- : safari.chrome私有属性 -o- : Oper ...

  5. 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)

    目录 一:移动端页面 1.流式布局(百分比布局) 2.flex弹性布局(重点♥) flex布局初体验: flex布局原理: flex布局父项常见属性 flex-direction 设置主轴的方向 ♥ ...

  6. 网页HTML5制作flex布局骰子,css3 flex布局结合transform生成一个3D骰子

    1 Flex 布局 首先聊聊Flex 布局,Flex 布局又称"弹性布局",任何容器都可以指定为Flex布局,设置Flex布局会使得子元素的float.clear.vertical ...

  7. 圣杯布局、双飞翼布局、Flex布局和绝对定位布局的几种经典布局的具体实现示例

    题目要求:针对如下DOM结构,编写CSS,实现三栏水平布局,其中left.right分别位于左右两侧,left宽度为200px,right宽度为300px,main处在中间,宽度自适应. 要求:允许增 ...

  8. Windows 8实例教程系列 - 布局控制

    Windows 8实例教程系列 - 布局控制 原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Win ...

  9. css盒模型、布局模型、 flex弹性盒模型及样式设置小技巧

    一.盒模型 元素分类  常用的块状元素有: <div>.<p>.<h1>...<h6>.<ol>.<ul>.<dl> ...

最新文章

  1. 翻译BonoboService官网的安装教程
  2. python list是一个有序列表 这个与java的list是无序的列表 具有明显不同,一定要注意
  3. Quarkus:一个Kubernetes原生Java框架
  4. 35个立体动感的视差滚动效果网站作品
  5. struts 权限控制
  6. 【代码笔记】iOS-翻书效果的实现
  7. 迷你版Spring MVC 实现
  8. 雅虎助手是如何自杀式攻击360安全卫士的?雅虎助手,3721是什么恶心人的--(部份转贴)
  9. python详细教程#2下载python
  10. WebView打不开或者显示异常可能原因
  11. python打开xls_python读取XLS文件或CSV文件
  12. 初体验微信小程序记事本
  13. 快速分析极兔快递物流发件到件超过36小时的时间差
  14. C#操作三菱FX系列PLC数据
  15. Elasticsearch 7.2.0 搜索时报 all shards failed 错误
  16. 汇报:阳光事业在阳光下进行
  17. 03 注册Gitee账号及设置公钥
  18. 4K电视与4K显示器区别
  19. 打印菱形图案的两种方法
  20. Vue中获取当前点击元素的父元素、子元素、兄弟元素

热门文章

  1. iOS编译cURL库并链接darwinssl,zlib,c-ares库操作步骤
  2. 《TPM原理及应用指南》学习 —— TPM历史1
  3. 对重装系统彻底说再见——电脑C盘备份
  4. python拼音数字输出接口_python: 拼音处理模块
  5. 申请https证书的过程
  6. 基于ACO蚁群优化的机器人避障算法仿真
  7. RmNet和CDC-ECM的区别,NDIS和RNDIS的区别。
  8. hdu 6608 Fansblog 威尔逊定理+大数阶乘取模
  9. Android屏幕上涂鸦画笔标记的实现
  10. MySQL中创建jxgl数据库_《MySQL数据技术与实验指导》jxgl数据库的创建和插入