页面中任何一个元素都可以指定为 弹性布局(Flex)

属性:display

取值:

1、flex     将块级元素变为弹性布局容器

2、inline-flex   将行内元素变为弹性布局容器

兼容性:    display:-webkit-flex;

注意:将元素设置为flex后,子元素的 float,clear以及vertical-align属性将失效

子元素有两条轴

Main axsis : 主轴,默认为横向轴

Cross axsis : 交叉轴,默认为纵向轴

容器(父元素)可以设置容器属性,用于控制子元素的排列方式

1、flex-direction  指定轴的方向

1. row(主轴为横轴,起点在左端,默认值)

2.row-reverse 主轴为横轴,起点在右端

3.column 主轴为交叉轴(纵轴),起点在顶端

4.column-reverse 主轴为交叉轴(纵轴),起点在底

2、flex-wrap   一行内显示不下所有项目时,如何换行

1.nowrap  默认值,不换行,会将项目等比缩放

2.wrap  换行

3.wrap-reverse  换行,第一行在下方(从下往上的意思,如图)

3、flex-flow  是 flex-direction 和 flex-wrap的缩写 (默认值为row nowrap)

4、justify-content  定义了子元素在主轴上的对齐方式

1.flex-start   主轴的起点对齐

2.flex-ecenternd   主轴的终点对齐

3.center  居中对齐

4.space-between  两端对齐,每两个项目之间的间隔相等(个人认为常用属性值)

5.space-around  每个项目两侧的间隔距离是相等的(有坑,别踩,不是字面上的意思,如图)

5、align-items  子元素在交叉轴上是如何排列对齐的(主要针对一行容器)

1.flex-start    交叉轴起点对齐(如图)

2.flex-end    交叉轴终点对齐

3.center    交叉轴中间对齐

4.baseline  基线对齐,第一行文本的基线(下方)

5.stretch  默认值,如果项目未设置高度或高度为auto时,那么将占满整个容器的高度

6、align-content    容器具备多跟轴线时(自动换行时),项目的对齐方式

1.flex-start  项目在交叉轴起点对齐(和上面那个属性差不多,不同的是前一个是适用于只有一行容器,这个是适用于多行)

2.flex-end  项目在交叉轴终点对齐

3.center  项目在交叉轴中间对齐

4.space-between  与交叉轴两端对齐,轴线之间的间隔相等

5.space-around  每个轴线两端的间隔相等,轴线间间隔比轴线与父元素边框间隔大一倍

6.stretch  默认值,在不指定项目高度时,占满整个交叉轴

项目(子元素)属性

1.order  排序,定义项目的排列顺序。值越小,越靠前

2.flex-grow    放大比例,如果当前排列轴有空余空间,项目将如何放大

默认值为 0 ,不做任何放大处理(注意没有负数)

只有一个元素取值为1的元素,在有剩余空间时,将占满剩余的空间

有多个元素取值为1的时候,有剩余空间时,大家平分剩余空间

3.flex-shrink   项目的缩小比例,默认为1,即空间不足时,等比缩小(同上)

4.flex-basis  项目所占据的空间大小

1.auto  默认值,项目本身大小

2.length,指定 宽 或 高(取决于主轴的方向)

5.align-self    单独定义当前元素与其他元素不一样的交叉轴对齐方式,可以覆盖align-items的值。默认为 auto,即继承父元素的align-items

1.auto 自动,继承父元素align-items

2.flex-start   交叉轴起点

3.flex-end  交叉轴终点

4.center   交叉轴中间

5.baseline   基线对齐

6.stretch  在不指定项目高度时,占满整个交叉轴

弹性布局 Flexible Box的更多相关文章

  1. 探讨弹性布局Flexible Box

    虽然Flex布局09年就被W3C所提出,但是目前浏览器支持上还不是很好,网上找的一张图片,仅供参考: 我们先从简单讲起.如果仅仅只想实现一个栅格布局,没必要引入一个复杂的框架(如bootstrap), ...

  2. CSS:CSS弹性盒子布局 Flexible Box

    一.简介 flexbox:全称Flexible Box, 弹性盒子布局.可以简单实现各种伸缩性的设计,它是由伸缩容器和伸缩项目组成.任何一个元素都可以指定为flexbox布局.这种新的布局方案在200 ...

  3. Flex box弹性布局 及 响应式前端设计的优化

    Flex box弹性布局 Flex box是CSS3新添加的一种模型属性,它的出现有力的打破了我们常常使用的浮动布局.实现垂直等高.水平均分.按比例划分,可以实现许多我们之前做不到的自适应布局.如果你 ...

  4. css3 弹性布局和多列布局

    弹性盒子基础 弹性盒子(Flexible Box)是css3中盒子模型的弹性布局,在传统的布局方式上增加了很多灵活性. 定义一个弹性盒子 在父盒子上定义display属性: #box{ display ...

  5. 第10章 布局样式相关-伸缩布局(Flexible Box)

    伸缩布局(一) CSS3引入了一种新的布局模式--Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或 ...

  6. CSS3 Flex Box 弹性盒子、弹性布局

    目录 1. 概要 2. justify-content 属性 3. align-items 属性 4. flex-wrap 属性 5. align-content 属性 6. 居中 7. align- ...

  7. CSS3弹性伸缩布局(一)——box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  8. CSS3伸缩盒Flexible Box

    这是一种全新的布局,在移动端非常实用,IE对此布局的相关的兼容不是很好,Firefox.Chrome.Safrai等需要加浏览器前缀. 先说说这种布局的特点: 1)移动端由于屏幕宽度都不一样,在布局的 ...

  9. flex弹性布局学习笔记

    前言 资料来源于网络,本人只是对此作了一下操作,记录于此以便以后查阅.目的在于梳理自己前端凌乱的知识点. 本文根据 Brian Franco 的一个flexbox.scss库来记录 入职新公司前对移动 ...

随机推荐

  1. HashMap vs Hashtable

    一.散列 1. HashMap 1)  hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示: 当我们往hashmap中put元素的时候,先根据key ...

  2. Tomcat—Bad Request

    前段时间,由于搭建环境的问题,项目暂停了一个多月,终于再次拿起来了,可是历史问题还是没有解决,再次让问题重现了一把. 上面的图片的大概意思就是:错误请求(无效主机名称)     看到这个,我一开始是兴 ...

  3. server12装.NET 3.5

    参考:https://support.microsoft.com/en-us/help/2734782/net-framework-3-5-installation-error-0x800f0906- ...

  4. C++基础学习7:new/delete操作符

    在C语言中,动态分配和释放内存的函数是malloc.calloc和free,而在C++语言中,new.new[].delete和delete[]操作符通常会被用来动态地分配内存和释放内存. 需要注意的 ...

  5. 关于IBOutlet的生命周期

    在调试程序的时候,发现 IBOutlet的对象在执行 getter时,开始一直想找IBOutlet对象getter方法前被执行的代码,但是一直找不到,于是我就想是不是系统自动给IBOutlet 自动初 ...

  6. Luogu5324 BJOI2019删数(线段树)

    考虑无修改怎么做.对于1~n的每个数,若其存在,将最后一个放在其值的位置,剩余在其前面依次排列,答案即为值域1~n上没有数的位置个数.带修改显然记一下偏移量线段树改一改就好了. #include< ...

  7. Rhino-- JavaScript

    Rhino是JDK1.6里自带的一个Javascript Engine,不过他的书写风格好像有点不是很一样. importPackage(Packages.groovy.util); var o = ...

  8. Django 09 博客小案例

    Django 09 博客小案例 urls.py from django.urls import path from . import views urlpatterns = [ path('index ...

  9. centos7博客的基础搭建(LNMP)

    linux [root@zbb wordpress]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) nginx echo ...

  10. linux磁盘与文件管理

    一.硬盘的组成与分区 1.物理组成 *圆形的盘片(主要记录数据的部分) *机械手臂与机械手臂上的磁头(可读写盘片上的数据) *主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据. *扇区为最小的物 ...