flex兼容性写法

display:box;
display:-webkit-box;
display:-webkit-flex; 
display:-moz-box; 
display:-ms-flexbox; 
display:flex;

 

 -prefix-box-flex: 1; 
 -webkit-box-flex: 1; 
 -webkit-flex: 1; 
 -moz-box-flex: 1; 
 -ms-flex: 1; 
 flex: 1; 

一、flexbox布局(弹性布局)

1.指定flex布局 { display:flex;
display: -webkit-flex; /* Safari */}
行内元素 { display:inline-flex}

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

2.概念
水平主轴(main axis),垂直主轴(cross axis)。

3.容器属性
。flex-direction: 项目的排列方向(橫or竖)
。flex-wrap: 换不换行,默认一条线上
。flex-flow: 方向,换行
。justify-content: 主轴上对齐方式
。align-items: 交叉轴如何对齐
。align-content: 很多根轴线的对齐方式

。box-orient:指定一个box子元素方向

3.1 flex-direction
—》row 水平,左端
—》row-reverse 水平,右端
—》column 垂直,上沿
—》column-reverse 垂直,下沿

3.2 flex-wrap
—》nowrap 不换行
—》wrap 换行
—》wrap-reverse 换行,第一行在下方

3.3 flex-flow
是flex-direction和 flex-wrap简写,默认row nowrap

3.4 justify-content

   —》justify-content: flex-start | flex-end | center | space-between | space-around;
                                     左对齐 | 右对齐 | 居中 | 两端对齐贴紧,项目间间隔相等 | 每个项目两两间隔相等

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

   —》align-items: flex-start | flex-end | center | baseline | stretch;


   交叉轴起点对齐 | 交叉轴终点对齐 | 交叉轴中点对齐 | 项目第一行文字基线对齐
   默认值:未设或auto,将占满整个容器高度。

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

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

   与交叉轴起点对齐 | 与交叉轴终点对齐 | 与交叉轴两端对齐,轴线之间的间隔平均分布
   | 每根轴线两侧的间隔都相等


   默认值:轴线占满整个交叉轴。



3.7 box-orient
      指定一个box子元素是否应按水平或垂直排列。
      horizontal:水平(默认)
      vertical:垂直
      inline-axis:子元素沿内联坐标轴(映射到横向)
      block-axis:子元素沿块坐标轴(映射到垂直)

4.项目属性

。order:项目的排列顺序
。flex   
。flex-grow  放大比例
。flex-shrink 缩小比例
。flex-basis  主轴空间大小
。align-self  允许单个项目有与其他项目不一样的对齐方式

4.1 order 定义项目的排列顺序
    -》order: <integer>;
    数值越小,排列越靠前,默认为0;


4.2 flex-grow 


    -》 flex-grow: <number>; /* default 0 */

    项目的放大比例,默认是0,即若存在剩余空间,也不放大。
    flex-grow属性都为1,将等分剩余空间;
    flex-grow属性为2,其他都为1,则前者占据的剩余空间比其他项多一倍。


   
4.3 flex-shrink


    -》flex-shrink: <number>; /* default 1 */


    项目的缩小比例,默认是1,即空间布局,该项目将缩小。
    flex-shrink属性都为1,将等比例缩小;
    若一个项目flex-shrink属性为0,其他都为1,则空间不足时,设为0的不缩小。

    负值对该属性无效。


 4.4 flex-basis


     -》flex-basis: <length> | auto; /* default auto */


     在分配多余空间之前,项目占据的主轴空间大小。默认为auto,即项目的本来大小。
     被省略为0%,零尺寸。


 4.5 flex


     -》flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]


     flex属性是 flex-grow,flex-shrink,flex-basis缩写,默认为0 1 auto。
     后两个属性可选。
 
     该属性有两个快捷值:auto( 1 1 auto)和none( 0 0 auto)。
     建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
     
  详细:其中<flex-basis>被省略默认为0%
            <flex-basis>指定auto,取决于自身<width>,若宽没定义,则长度取决于内容。
  
   flex:1 == flex: 1 1 0%;  
   flex:none == flex:0 0 auto;
   flex:auto == flex:1 1 auto;
  


   例如:<div>
                <p id="p1">Hello</p>
                <p>Hello</p>
       
         </div>


         div{ width:300px; display:flex; }
         div #p1{ flex:1; }
           

   【flex:1 意思是设置后DIV有灵活的长度,即其余auto宽度后,  剩余的的都是flex:1它的】


  4.6 align-self


      -》align-self: auto | flex-start | flex-end | center | baseline | stretch;
      允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。  

二、兼容性方面

/父元素-横向排列(主轴)/

display:box;  (伸缩盒最老版本)
display:-webkit-box;  /* iOS 6-, Safari 3.1-6 */
display:-webkit-flex; /* Chrome */
display:-moz-box;     /* Firefox 19 */
display:-ms-flexbox;   
display:flex;  /*flex容器*/

/*方向*/
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row; 
flex-direction:row;    【新版本语法】
/*父元素-水平居中(主轴是横向才生效)*/【新版本语法】
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
/*子元素-垂直居中(在侧轴、纵轴上)*/【新版本语法】
 -webkit-align-items:center;
 -moz-align-items:center;
 -ms-align-items:center;
 -o-align-items:center;
 align-items:center;
/*父元素-横向换行 */
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap:wrap;
/* 子元素—平分比例 */ 
 -prefix-box-flex: 1; /* old spec webkit, moz */
 -webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
 -webkit-flex: 1;          /* Chrome */
 -moz-box-flex: 1;         /* Firefox 19- */
 -ms-flex: 1;              /* IE 10 */
 width:20%;
 flex: 1;                  /* NEW,  Opera 12.1, Firefox 20+ */
 flex: 2;

不写flex数值默认不可以伸缩。

/* 子元素-用于改变源文档顺序显示 */
 -prefix-box-ordinal-group: 1; /* old spec; must be positive */
 -webkit-box-ordinal-group: 2;    
 -moz-box-ordinal-group: 2;       
 -ms-flex-order: 2;               
 -webkit-order: 2;                
 order: 2;                        
 order: 3;

【老版本语法】

/*居中 */
box-pack:center;  //水平
box-align:center; //垂直
-webkit-box-pack:center;
-webkit-box-align:center;
-moz-box-pack:center;
-moz-box-align:center;
-ms-flex-pack:center;
-ms-flex-align:center;
/*子元素方向 */  
-webkit-box-orient:horizontal;  
-moz-box-orient:horizontal;  
-ms-box-orient:horizontal; 
-o-box-orient:horizontal; 
box-orient:horizontal;
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,496评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,472评论 0 6
  • 点这里 http://caibaojian.com/demo/flexbox/flex-direction.htm...
    木易先生灬阅读 682评论 0 1
  • By Leaf 一、简单理解flex布局 首先我们来理解一下flex布局的一些基本概念(图是我从网上找来的,我觉得...
    前端葱叶阅读 774评论 2 5
  • 一、Flex布局与传统布局 传统布局依赖于盒模型,利用display、position、float属性来布局,但是...
    子却阅读 729评论 0 2