好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CSS3伸缩布局盒模型记_html/css_WEB-ITnose

CSS3 伸缩布局盒模型

  CSS3引入的布局模式Flexbox布局,主要思想是让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间。Flex容器使用Flex项目可以自动放大与收缩,用来填补可用的空闲空间。
  更重要的是,Flexbox布局方向不可预知,不像常规的布局(块级从上到下,内联从左到右),而那些常规的适合页面布局,但对于支持大型或者复杂的应用程序就缺乏灵活性。
  如果常规布局是基于块和内联文本流方向,那么Flex布局就是基于“Flex-flow”方向。先来了解一下伸缩盒模型的一些专用术语。

   主轴 :Flex容器的主轴主要用来配置Flex项目。他不一定是水平的,这主要取决于fle-direction属性。
   主轴起点,主轴终点 :Flex项目的配置从容器的主轴起点边开始,往主轴终点边结束。
   主轴长度 :Flex项目在主轴方向的宽度或高度就是项目的主轴长度,Flex项目的主轴长度属性是width或height属性,由哪一个对着主轴方向决定。
   侧轴 :与主轴垂直的轴称作侧轴,是侧轴方向的延伸。
   侧轴起点,侧轴终点 :伸缩行的配置从容器的侧轴起点边开始,往侧轴终点边结束。
   侧轴长度 :Flex项目在侧轴方向的宽度或高度就是项目的侧轴长度,Flex项目的侧轴长度属性是widht或height属性,由哪一个对着主轴方向决定。

  Flex布局的语法规范经过几年发生了很大的变化,也给Flexbox的使用带来一定的局限性,因为语法规范版本众多,浏览器支持不一致,致使Flexbox布局使用不多。Flexbox布局语法规范主要分成三种。

  旧版本,2009年版本,是最早的伸缩布局,各大主流浏览器对其支持性略有不同,可惜的是,对Flexbox布局的各属性支持也不完全,在使用时还需添加各浏览器的前缀。
  混合版本,2011年版本,只有IE10支持。
  最新版本,2012年版本,除了Safari浏览器不支持外,其他最新浏览器都支持这个版本。

Flex容器属性

display

  要改变元素的模式为伸缩容器,需要使用display属性。

display:flex | inline-flex	 

  flex:设置为块级伸缩容器。
  inline-flex:设置为内联级伸缩容器。

           *{        margin:0;        padding:0;    }    div>div{        width:100px;        height:100px;        line-height:100px;        border:1px solid;        text-align:center;        margin:10px;    }    #box{        display:-moz-box;        display:-webkit-box;        display:-ms-flexbox;        display:-webkit-flex;         display:flex;             border:1px solid;        margin:20px;    }    #inline{                    display:-moz-inline-box;        display:-webkit-inline-box;        display:-ms-inline-flexbox;        display:-webkit-inline-flexbox;        display:inline-flex;        border:1px solid;        margin:20px;    }   

A

查看更多关于CSS3伸缩布局盒模型记_html/css_WEB-ITnose的详细内容...

  阅读:42次