栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

几个CSS3的flex弹性盒模型布局的简单例子演示

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flexible Box(弹性盒子)能让页面的分布更合理和方便,
这是之前使用常规的布局方式所做不到的。
2016512120032949.png (700×368)

XML/HTML Code复制内容到剪贴板
  1.   
  2.     1
  
  •     2
  •   
  •     3
  •   
  •     4
  •   
  •   
  • display:flex和display:box有什么区别?

    前者是flex 2012年的语法,也将是以后标准的语法,大部分浏览器已经实现了无前缀版本。

    CSS Code复制内容到剪贴板
    1.   
    2. .warp{   
    3.     width: 100%;   
    4.     height: 100px;   
    5.       
    6.       
    7.       
    8.     display: -webkit-box;   
    9.     display: -moz-box;   
    10.     display: -webkit-flex;   
    11.     display: -moz-flex;   
    12.     display: -ms-flexbox;   
    13.     display: flex;   
    14.       
    15.       
    16.     -webkit-box-pack:justify;   
    17.     -webkit-box-align: ustify;   
    18.     -moz-box-pack:justify;   
    19.     -moz-box-align:justify;   
    20.     box-pack:justify;   
    21.     box-align:justify;   
    22.       
    23.       
    24.     flex-direction:row;   
    25.     -webkit-flex-direction:row;   
    26.       
    27.     flex-wrap:nowrap;   
    28.       
    29.     flex-flow:row nowrap;   
    30.       
    31.     justify-content:center;   
    32.       
    33.     align-items:center;   
    34.       
    35.     align-content:center;   
    36. }      
    37.   
    38. .warp .modular{   
    39.     width:80px;   
    40.     height:80px;   
    41.     background-color:#eee;   
    42.     text-align:center;   
    43.       
    44.     order:-1;   
    45.       
    46.     flex-grow:1;   
    47.       
    48.     flex-shrink:2;   
    49.       
    50.     flex-basis:auto;   
    51.       
    52.     flex:1 2 100px;   
    53.       
    54.     align-self:center;   
    55. }  

    直接上代码,写了个Demo便于理解,其中warp为父元素,称为“伸缩容器,modular为子元素,称为“伸缩项目”。

    1) Flexbox布局最适合应用程序的组件和小规模的布局,而网格布局更适合那些更大规模的布局。

    2) 目前没有浏览器支持 box-flex 属性,Firefox 支持替代的 -moz-box-flex 属性,Safari、Opera 以及 Chrome 支持替代的 -webkit-box-flex 属性。

    3) CSS的columns在伸缩容器上没有效果。

    4) float、clear和vertical-align在伸缩项目上没有效果。

    例:移动端导航(居中,左右,自适应居中,自适应竖向排列)

    CSS Code复制内容到剪贴板
    1.   
    2.     .nav{   
    3.         background:#00BFFF;   
    4.         display:-webkit-box;   
    5.         display:-moz-box;   
    6.         display:-ms-flexbox;   
    7.         display:-webkit-flex;   
    8.         display:flex;   
    9.         -webkit-flex-flow:row wrap;   
    10.           
    11.         -webkit-flex-flow:column wrap;   
    12.           
    13.         justify-content:flex-start;   
    14.           
    15.         justify-content:flex-end;   
    16.     }   
    17.     .nav a{   
    18.         text-decoration:none;   
    19.         display:block;   
    20.         padding:1em;   
    21.         color:#fff;   
    22.           
    23.         flex:1;   
    24.     }   
    25.     @media all and (max-width: 800px) {   
    26.         .nav{   
    27.               
    28.             justify-content:space-around;   
    29.         }   
    30.     }   
    31.   
    XML/HTML Code复制内容到剪贴板
    1.   
    2.     
    3. 1
    4.   
    5.     
    6. 2
    7.   
    8.     
    9. 3
    10.   
    11.     
    12. 4
    13.   
    14.   

    2016512120146062.jpg (1074×668)

    例:移动端常用自适应布局

    CSS Code复制内容到剪贴板
    1.   
    2.     .wrapper{   
    3.         display:-webkit-box;   
    4.         display:-moz-box;   
    5.         display:-ms-flexbox;   
    6.         display:-webkit-flex;   
    7.         display:flex;     
    8.         -webkit-flex-flow:row wrap;   
    9.         flex-flow:row wrap;   
    10.     }   
    11.     .wrapper > *{   
    12.         padding:10px;   
    13.         flex:1 100%;   
    14.     }   
    15.     .header{   
    16.         background:#FF6347;   
    17.     }   
    18.     .footer{   
    19.         background:#90EE90;   
    20.     }   
    21.     .main{   
    22.         background:#00BFFF;   
    23.     }   
    24.     .aside-1{   
    25.         background:#FFD700;   
    26.     }   
    27.     .aside-2{   
    28.         background:#FF69B4;   
    29.     }   
    30.     @media all and (min-width: 600px) {   
    31.         .aside{   
    32.             flex:1 auto;   
    33.         }   
    34.     }   
    35.     @media all and (min-width: 800px) {   
    36.         .main{   
    37.             flex:3 0px;   
    38.         }   
    39.         .aside-1{   
    40.             order:1;   
    41.         }    
    42.         .main{   
    43.             order:2;   
    44.         }   
    45.         .aside-2{   
    46.             order:3;   
    47.         }   
    48.         .footer{   
    49.             order:4;   
    50.         }   
    51.     }   
    52.   
    XML/HTML Code复制内容到剪贴板
    1.   
    2.     顶部  
    3.       
    4.         

      我在中间显示的文字

           
    5.       
    6.     我在左边显示的文字  
    7.     我在右边显示的文字  
    8.     底部  
    9.   

    2016512120225379.jpg (872×665)

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/215928.html

    CSS教程相关栏目本月热门文章

    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号