day17—Flex弹性布局详解(一)
转行学开发,代码100天——2018-04-02
今天看到一篇大神的文章,关于flex布局的详解,对flex用法介绍的相当详细,非常有助于我等初学者更深入了解这种布局方式。
文章链接 【基础知识】Flex-弹性布局原来如此简单!! 在此对作者表示感谢。
本文试图按照文中介绍,重写其实现代码,以作学习。
前面笔记中,介绍过一些布局的基础,其中传统的布局方式依赖于盒子模型,即display+position+float方式。该方式灵活性较差,需要写大量的CSS样式。而W3C于2009年提出的新的方案即Flex——Flexible Box,意为弹性布局。flex布局的优势在于:便捷、完整、响应式地实现多种页面布局。
1.基本概念——容器+项目
采用flex布局的元素成为flex容器,其所有子元素自动成为容器成员,即flex item,项目
其基本的容器结构如下:

水平主轴:mian aixs 主轴开始位置:main start 结束位置:main end
垂直主轴(交叉轴):cross axis 交叉轴开始位置: cross start 交叉轴结束位置:cross end
注意:
1).flex项目默认沿着主轴排列,单个项目占据的主轴空间叫做main size 占据的交叉轴空间叫做cross size
2)flex属性有两个部分,一部分作用于容器成为容器属性,另一部分作用于项目成为项目属性。
2.flex容器属性
基本语法:
.box
{
display: flex;/*或者inline-flex*/
flex-direction: column-reverse;
}
<div class="box">
<div class="div1">the first div </div>
<div class="div2">the second div</div>
<div class="div3">the third div</div>
</div>
2.1 flex-direction:表示布局方向,包括
ow :从左到右排列
row-reverse:从右到左排列
column:从上到下排列
column-reverse:从下岛上排列
其布局效果如下:

2.2 flex-wrap:表示单行或多行排列
flex-wrap属性包括:
nowrap(缺省):表示所有flex项目单行排列
wrap:表示flex项目多行排列,从上到下顺序
wrap-reverse:表示flex项目多行排列,从下到上顺序

2.3 flex-flow属性
flex-flow属性即是flex-direction和flex-wrap的简写形式。
如:可设置flex-flow:row
2.4 justify-content属性
justify-content 属性表示项目在主轴上的对齐方式及额外空间的分配情况。
| flex-start | (缺省)从起点线开始顺序排列 |
|
| flex-end | 相对终点线顺序排列 |
|
| center | 居中排列 |
|
| space-between | 项目均匀分布,第一项在起点线,最后一项在终点线 |
|
| space-evenly | 项目均匀分布,所有项目两侧有相同的留白距离 |
|
| space-around | 项目均匀分布,每一项两侧有相同的留白,两边留白之和是两个项目之间间距 |
|
2.5 align-items属性
align-items属性表示项目在交叉轴上对齐的方式
| stretch(缺省) | 按交叉轴起点方向拉伸显示 |
|
| flex-start | 按交叉轴起点线对齐 |
|
| flex-end | 按交叉轴终点线对齐 |
|
| center | 交叉轴方向中间对齐 |
|
| baseline | 交叉轴方向按第一行文字基线对齐 | ![]() |
day17—Flex弹性布局详解(一)的更多相关文章
- day18—Flex弹性布局详解(二)
转行学开发,代码100天——2018-04-03 2.6 align-content属性 align-content 属性定义了在交叉轴方向对齐方式和额外空间分配,类似于justify-content ...
- 弹性布局详解——5个div让你学会弹性布局
前 言 JRedu 在网页制作过程中,布局是我们最重要的一个环节.可以说布局的好坏直接影响到整个网页的成败!布局成,则事半功倍:布局败,则事倍功半. 随着移动互联的到来,响应式网站风靡.这也就兴 ...
- css--flex弹性布局详解和使用
前言 前端开发最基础的能力是根据 ui 设计稿迅速还原页面,拿到设计稿不要急于写代码,首先要对页面进行分析,对页面的整体布局有个大概的了解,然后先实现一个整体的布局,再把布局拆分成逐个小模块,逐个去实 ...
- flex弹性布局属性详解!
详细看下flex弹性布局具体属性: flex容器属性详解:flex-direction:row/column:(横排/竖排) 决定元素的排列方向:flex-wrap:nowrap/wrap/wrap- ...
- 弹性盒布局详解(display: flex;)
弹性盒布局详解 弹性盒介绍 弹性盒的CSS属性 开启弹性盒 弹性容器的CSS属性 flex-direction设置弹性元素在弹性容器中的排列方向 主轴与侧轴(副轴) flex-wrap设置弹性容器空间 ...
- css进阶之二:flex弹性布局
布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...
- Grid 网格布局详解
Grid网格布局详解: Grid布局与Flex布局有着一定的相似性,Grid布局是将容器划分成行和列,产生单元格,可以看做是二维布局. 基本概念: 采用网格布局的区域,称为"容器" ...
- Android开发重点难点1:RelativeLayout(相对布局)详解
前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...
- 【翻译】Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解)
[翻译]Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解) . . .
随机推荐
- [Git] 013 远程仓库篇 第零话 使用前的一些配置
0. 前言 本地仓库和 GitHub 上的远程仓库之间的传输是通过 "SSH" 加密的,所以使用前需要进行一些设置 这回的任务 设置"身份象征" 创建 &quo ...
- 漫漫人生路,我们该何去何从! Python让我找到了方向
互联网寒冬 2017年冬天,是我人生中最难熬的一个冬天,其实2017年的冬天并不算太冷,比这冬日的寒风还要严寒的要属这所谓的"互联网寒冬"吧!各大厂裁员的消息充斥着互联网,互联网表 ...
- select,poll 和 epoll ??
其实所有的 I/O 都是轮询的方法,只不过实现的层面不同罢了. 其中 tornado 使用的就是 epoll 的. selec,poll 和 epoll 区别总结 基本上 select 有 3 个缺点 ...
- MyBatis联表查询——别名方式
在使用MyBatis你想工程时,单表操作其实是非常完美的,涉及到多表联合查询时,需要我们自己写联表的SQL语句. 我拿出项目中的部分代码作为示例, EmployeeMapper.xml: <?x ...
- 一、Rabbit使用-安装教程
首先我去官网上面下载RabbitMQ安装包:https://www.rabbitmq.com/which-erlang.html 现在下载的版本是3.7.17 因为我erlong安装的是20.3
- TensorFlow——CNN卷积神经网络处理Mnist数据集
CNN卷积神经网络处理Mnist数据集 CNN模型结构: 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5*5,步长为1,卷积核:32个 第一层池化:池化视野2*2,步长为2 第二层卷积 ...
- 05.Linux-CentOS系统本地Yum源搭建
CentOS系统 1.挂载镜像光盘[root@localhost ~]# mount /dev/sr0 /media/cdrom/ 2.创建本地yum源仓库[root@localhost ~]# cd ...
- 线程池-连接池-JDBC实例-JDBC连接池技术
线程池和连接池 线程池的原理: 来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...
- python面向对象--类和实例的认识
'''1.数据属性 2.函数属性''' #创建一个类class Chinese: "这是一个中国人的类" #类属性 money=4000 #注意类和对象均用点来访问自己的属性 de ...
- 网络基础-IP地址
