zoukankan      html  css  js  c++  java
  • css3 弹性盒布局的使用-Flex

     介绍:

       css3 的Flex弹性盒的布局是一个用于页面布局的全新CSS3模块功能。它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间。较为复杂的布局可以通过嵌套一个伸缩容器(flex           

       container)来辅助实现。

       Flexbox可以简单快速的创建一个具有弹性功能的布局,当在一个小屏幕上显示的时候,Flexbox可以让元素在容器(伸缩容器)中进行自由扩展和收缩,从而容易调整整个布局。它的目的是使用常见的布局模式,比如说三列布局,可 

        以非常简单的实现。

     css3引入的flex布局优缺点

          优点在于其容易上手,根据flex规则很容易达到某个布局效果。

          缺点是:浏览器兼容性比较差,只能兼容到ie9及以上。

      属性     

           display: flex;  // 弹性盒,定义给父盒子让子元素在一排横向显示

               值: flex 或 inline-flex将其定义为弹性容器。弹性容器内包含了一个或多个弹性子元素。

          direction :rto;  //属性为 rtl (right-to-left),弹性子元素的排列方式也会改变,页面布局也跟着改变:从右向左排列

      flex-direction :   //属性指定了弹性子元素在父容器中的位置。

                值: 

                      row:横向从左到右排列(左对齐),默认的排列方式。

                    row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。

                    column:纵向排列。

                    column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。

           justify-content : //属性应用在弹性父容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐

                值 :

                     flex-start : 默认值,从左向右排列或从上到下

                     flex-end : 从右向左

                     center :  居中

                     space-between : 平均分布 左中右 或上中下 ,左右或上下紧挨边框

                    space-around : 平均分布 左中右 或上中下 ,元素在自己位置居中

           :// 属性

                      flex-start : 默认值,从左向右排列或从上到下

                      flex-end : 从右向左

                      center :  居中

                      baseline : 如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐.

                      stretch : 如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

          flex-wrap: wrap;   //自动换行

               值:

                     nowrap : 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。

                     wrap : 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行

                     wrap-reverse 反转 wrap 排列。

          align-content // 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐

               值 :

                    stretch : 默认。各行将会伸展以占用剩余的空间。

         flex-start : 各行向弹性盒容器的起始位置堆叠。

     :各行向弹性盒容器的结束位置堆叠。

         center :各行向弹性盒容器的中间位置堆叠。

         space-between :各行在弹性盒容器中平均分布。

         space-around :各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半

     order: //属性值用整数值来定义排列顺序,数值小的排在前面。可以为负值。

         align-self ://属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式

              值:

                  auto:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。

                  flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。

                  flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。

                  center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。

                  baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。

                  stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

           属性写在子元素上,用于指定弹性子元素如何分配空间。 把父容器分成若干份,2 代表占用了两份 ,1代表占用了一份

            值:       

                   auto: 计算值为 1 1 auto

                 initial: 计算值为 0 1 auto

                 none:计算值为 0 0 auto

                 inherit:从父元素继承

                 [ flex-grow ]:定义弹性盒子元素的扩展比率。

                 [ flex-shrink ]:定义弹性盒子元素的收缩比率。

                 [ flex-basis ]:定义弹性盒子元素的默认基准值。

  • 相关阅读:
    模块化工具require 学习笔记
    学习Jade模板引擎
    通过border来实现各种三角符号
    使用vscode 编译 sass
    Javascript 运行机制
    Vue调试工具 vue-devtools
    MVVM框架
    通信类
    面向对象
    原型和原型链
  • 原文地址:https://www.cnblogs.com/whx123/p/12103197.html
Copyright © 2011-2022 走看看