Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性

任何一个容器都可以指定为 Flex 布局。

.box{

display: -webkit-flex; /* Safari */ //考虑兼容

display: flex;

}

行内元素也可以使用 Flex 布局。

.box{

display: inline-flex;

}

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

父属性(作用于父级div等元素)

1.flex-direction属性决定主轴的方向(即项目的排列方向)。

.box {

flex-direction: row | row-reverse | column | column-reverse;

→ ← ↓ ↑

}

2 flex-wrap属性

默认情况下,项目都排在一条线上。flex-wrap属性定义,如果一条轴线排不下,如何换行。

.box{

flex-wrap: nowrap | wrap | wrap-reverse;

不换行 换行 向上换行

}

3 flex-flow(常用属性)

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

4 justify-content属性(常用属性)

justify-content属性定义了项目在x轴上的对齐方式。

.box {

justify-content: flex-start | flex-end | center | space-between | space-around;

→ ← 居中 中间留空 头尾中间都留空

}

5 align-items属性(y轴)(常用属性)

align-items属性定义项目在交叉轴上如何对齐。

.box {

align-items: flex-start | flex-end | center | baseline | stretch

顶对齐,底对齐,中部对齐,首行对齐,充满

}

6 align-content属性(y轴)

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

.box {

align-content: flex-start | flex-end | center | space-between | space-around | stretch;

(请对照 align-items属性)

}

子属性 (作用于子级div等元素)

1 order属性(常用属性)

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

2 flex-grow属性(比例属性)

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

3 flex-shrink属性

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

值大于等于0,0代表不缩小,其他的当空间不足时按比例比例缩小

4 flex-basis属性

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

5 flex属性(常用属性)

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

6 align-self属性(y轴)(常用属性)## 标题 ##

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

.item {

align-self: auto | flex-start | flex-end | center | baseline | stretch;

(请对照 align-items属性)

}

该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

Flex布局介绍的更多相关文章

  1. CSS之FLex布局介绍

    网页布局(layout)是CSS的一个重点应用. img 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如, ...

  2. 在移动端中的flex布局

    flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局,  弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...

  3. Flex布局教程及属性速查

    一.Flex布局介绍 伸缩盒模型(flexbox)是一个新的盒子模型,意为"弹性布局",用来为盒状模型提供最大的灵活性,主要优化了UI布局.Flexbox的功能主要包手:简单使用一 ...

  4. React-Native基础_3.Flex布局

    Flex布局介绍 /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ 'use st ...

  5. 学好Flex布局并不容易

    1. Flex布局介绍 CSS的传统布局解决方案,基于盒状模型,依赖display属性.position属性.float属性,对于一些特殊的布局,例如垂直居中,往往要想很多hack的方法来解决. 20 ...

  6. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  7. Flex 布局教程:实例篇

    该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...

  8. FLEX布局的一些问题和解决方法

    前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...

  9. 【转】Flex 布局语法教程

    网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

随机推荐

  1. Integer陷阱(0~127和其他 数值相等对象比较)

    Integer 类在对象中包装了一个基本类型 int 的值. 有一个陷阱存在,经常出现在面试题中,情况如下面代码 public class IntegerDemo { public static vo ...

  2. 获取windows所有用户名

    #include <LM.h> #pragma comment(lib, "netapi32.lib") // See more: http://msdn.micros ...

  3. PhotoShop CS6安装教程

    PhotoShop CS6安装教程... ===================== 安装包和激活码在最下面: ======================== =================== ...

  4. DOM-----style属性对照表

    CSS和Java script 标签对照表 盒子标签和属性对照 CSS语法 (不区分大小写) Java script 语法 (区分大小写) border border border-bottom bo ...

  5. Redis在电商中的实际应用-Java

    示例代码用Jedis编写. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc),Redis的命令都是原子性的,你可以轻 ...

  6. Apache与Tomcat的关系和区别 -个人比较

    我们经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料 ...

  7. 端午总结-有关Mysql的base

    前言 目前软件需要加一种数据源mysql,我也是差不多看了mysql挺久的了,把一些心得写下来,方便以后总结. 大体上包括 mysql5.5,5.6,5.7安装的一些不同,支持的windows平台测试 ...

  8. php 自己封装的一些函数

    手机归属地函数 function get_mobile_area($phone){ $sms = array('province'=>'', 'supplier'=>''); //初始化变 ...

  9. django日期比较

    from django.db import models from django.utils import timezone import datetime # Create your models ...

  10. 查看numpy.ndarray的数据类型

    使用ndarray数据时,如果希望知道数据的类型和维数,可以按照以下方法: Xxx.dtype  #xxx表示一个ndarray类型的变量,返回ndarray的数据类型 Xxx.shape  #xxx ...