转行学开发,代码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弹性布局详解(一)的更多相关文章

  1. day18—Flex弹性布局详解(二)

    转行学开发,代码100天——2018-04-03 2.6 align-content属性 align-content 属性定义了在交叉轴方向对齐方式和额外空间分配,类似于justify-content ...

  2. 弹性布局详解——5个div让你学会弹性布局

      前  言 JRedu 在网页制作过程中,布局是我们最重要的一个环节.可以说布局的好坏直接影响到整个网页的成败!布局成,则事半功倍:布局败,则事倍功半. 随着移动互联的到来,响应式网站风靡.这也就兴 ...

  3. css--flex弹性布局详解和使用

    前言 前端开发最基础的能力是根据 ui 设计稿迅速还原页面,拿到设计稿不要急于写代码,首先要对页面进行分析,对页面的整体布局有个大概的了解,然后先实现一个整体的布局,再把布局拆分成逐个小模块,逐个去实 ...

  4. flex弹性布局属性详解!

    详细看下flex弹性布局具体属性: flex容器属性详解:flex-direction:row/column:(横排/竖排) 决定元素的排列方向:flex-wrap:nowrap/wrap/wrap- ...

  5. 弹性盒布局详解(display: flex;)

    弹性盒布局详解 弹性盒介绍 弹性盒的CSS属性 开启弹性盒 弹性容器的CSS属性 flex-direction设置弹性元素在弹性容器中的排列方向 主轴与侧轴(副轴) flex-wrap设置弹性容器空间 ...

  6. css进阶之二:flex弹性布局

    布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...

  7. Grid 网格布局详解

    Grid网格布局详解: Grid布局与Flex布局有着一定的相似性,Grid布局是将容器划分成行和列,产生单元格,可以看做是二维布局. 基本概念: 采用网格布局的区域,称为"容器" ...

  8. Android开发重点难点1:RelativeLayout(相对布局)详解

    前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...

  9. 【翻译】Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解)

    [翻译]Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解) . . .

随机推荐

  1. 数据映射-LSM Tree和SSTable

    Coming from http://blog.sina.com.cn/s/blog_693f08470101njc7.html 今天来聊聊lsm tree,它的全称是log structured m ...

  2. [Git] 004 初识 Git 与 GitHub 之查看历史记录

    在 GitHub 的 UI 界面使用 Git 查看历史纪录 1. 右侧有个 history 2. 点击后跳转页面 3. 点击相应标题(commit 时写的),进入相应版本(历史) 4. 我选择了 I ...

  3. nested exception is java.lang.NoClassDefFoundError: org/hibernate/validator/resourceloading/ResourceBundleLocator

    原来的hibernate-validator-5.3.0.Final.jar里没有这个接口,换成 hibernate-validator-4.1.0.Final.jar 就好了

  4. JDK的下载与Java运行环境

    JDK简介 什么是JDK JDK是Java Development Kit的缩写,意思是Java开发工具包.JDK就好比作人的心脏,人没有了心脏,生命也就失去存在的意义.Java也一样,JDK就是它的 ...

  5. uWSGI、uwsgi、WSGI、之间的关系,为什么要用nginx加uWSGI部署。

    WSGI 协议 WSGI:是一种协议规范,起到规范参数的作用,就像告诉公路一样,规定超车靠右行,速度不低于90km/h,等.但这一切都是对双方进行沟通,比如,重庆到武汉这条高速路,这儿重庆和武汉就各为 ...

  6. 【接口工具】mac环境下使用Charles抓包Https请求

    Charles支持针对Https包解析.具体安装导航请参考“[接口工具]接口抓包工具之Charles” 操作流程 电脑安装证书: Help-SSL Proxying-Install Charles R ...

  7. Elasticsearch7.X 入门学习第一课笔记----基本概念

    原文:Elasticsearch7.X 入门学习第一课笔记----基本概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

  8. SQL Server 基础知识/数据类型/数值类型

    数据库设计简单地来讲,也就是设计表格的过程. 表格存储的数据是可以理解为一个二维表,由行和列组成. 原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般 ...

  9. 02-CSS简介和基本选择器

    # CSS为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表.有了CSS,ht ...

  10. javascript中无法将string转化为json对象

    在一次项目之中,我要对请求的相应做一些处理,得到的响应差不多是这中格式'{total:1,result:[{"age":1}]}'.可以看到我拿到的这个相应和JSON的格式是非常相 ...