页面中任何一个元素都可以指定为 弹性布局(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. ASPxGridView KeyFieldName

    KeyFieldName="查询表的主键名称"

  2. phaser小游戏框架学习中的屏幕适配

    这篇博客主要讲一下上一篇博客的右侧和底部出现的问题.就是页面会有偏移量.说一下这个产生的原因吧. 一开始在构建html页面的时候,习惯性的在页面中加了 <meta name="view ...

  3. Mysql INNER JOIN

    1.MySQL INNER JOIN子句将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录. 2.INNER JOIN子句是SELECT语句的可选部分,它出现在FROM子句之后. ...

  4. CF796C Bank Hacking 思维

    Although Inzane successfully found his beloved bone, Zane, his owner, has yet to return. To search f ...

  5. shell控制流程

    #!/bin/bash #存储为a.sh == ] then #参数正确,返回0 else #参数错误,返回1 fi #!/bin/bash #存储为b.sh echo $? $ . ./a.sh $ ...

  6. springboot整合mybatis,redis,代码(三)

    一 说明 接着上篇讲述redis缓存配置的用法: 二 正文 首先要使用缓存就必须要开开启缓存,第二步是需要开redis-server 下载redis包之后,点击图中两个都可以开启redis 怎么看是否 ...

  7. 百度地图 js 调用

    百度地图key 的获取 进入 http://lbsyun.baidu.com/i 登录你的账号 点击进入控制台,复制 ak 的值 <!doctype html> <html> ...

  8. css属性 盒子模型

    一.    css属性相关 1.宽和高    1.width可以为元素设置宽度 2. height可以为元素设置高度 3.只有块级标签才可以设置宽度和高度,内联标签并不能设置宽度和高度,及时设置了也不 ...

  9. 函数之-------------------------HR管理操作

    import os import time def emplog(content): #记录操作的一个函数,在删除,添加,修改都会用到这一操作, f=open("emp.log", ...

  10. 封装OkHttp,通过改造Callback接口实现

    1:实现Callback回调接口import android.os.Handler;import android.os.Looper;import android.os.Message; import ...