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

CSS3弹性盒模型开发笔记(三)

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

本文介绍了CSS3弹性盒模型,供大家参考,大家亦可以结合CSS3弹性盒模型开发笔记(一)、CSS3弹性盒模型开发笔记(二)进行学习,具体内容如下

box-pack和box-align属性

当弹性元素和非弹性元素混合排版时,有可能会出现所有子元素的尺寸大小或小于盒子的尺寸,从而出现盒子空间不足或者富余的情况,这时就需要一种方法来管理盒子的空间。如果子元素的总尺寸小于盒子的尺寸,则可以使用box-align和box-pack属性进行管理。

box-pack属性可以在水平方向上对盒子的富余空间进行管理,该属性的基本语法如下:

box-pack:start | end | center | justify

取值说明:

start:所有子元素都显示在盒子的左侧,富余的空间显示在盒子的右侧。

end:所有子元素都显示在盒子的右侧,富余的空间显示在盒子的左侧。

justify:富裕的空间在子元素之间平均分配。在第一个子元素之前和最后一个子元素之后不分配空间。

center:富余的空间在盒子的两侧平均分配。

  box-align属性可以在垂直方向上对盒子的富余空间进行管理,该属性的基本语法如下:

box-align:start | end | center | baseline | stretch

取值说明:

start:所有子元素沿着盒子的上边缘排列,都显示在盒子的上部,富余的空间显示在盒子的底部。

end:所有子元素沿着盒子的下边缘排列,都显示在盒子的底部,富裕的空间显示在盒子的上部。

center:富余的空间在盒子的上下两侧平均分配,即上面一半,下面一半。

baseline:所有盒子沿着它们的基线排列,富余的空间可前可后显示。

stretch:每个子元素的高度被调整到适合盒子的高度显示。

实战体验:自适应布局居中设计

HTML代码:

XML/HTML Code复制内容到剪贴板
  1.   


     
  •   
  •   
  •   
  • CSS3代码:

    CSS Code复制内容到剪贴板
    1.   
    2.   
    3. body,html{   
    4.     height:100%;   
    5.     width:100%;   
    6. }   
    7. body{  
    8.     margin:0;   
    9.     padding:0;   
    10.       
    11.     display:box;   
    12.     display:-moz-box;   
    13.     display:-webkit-box;   
    14.       
    15.     box-orient:horizontal;   
    16.     -moz-box-orient:horizontal;   
    17.     -webkit-box-orient:horizontal;   
    18.       
    19.     box-pack:center;   
    20.     -moz-box-pack:center;   
    21.     -webkit-box-pack:center;   
    22.     box-align:center;   
    23.       
    24.     -moz-box-align:center;   
    25.     -webkit-box-align:center;   
    26.       
    27.     background:#04082b url(images/map1.jpg) no-repeat top center;   
    28. }   
    29. #box{   
    30.    border:1px solid red;   
    31.    padding:4px;   
    32. }   
    33.   
    34.   

    演示效果:

    关于布局空间管理的进一步分析

    分析布局空间管理的各种情况。

    基本代码:

    XML/HTML Code复制内容到剪贴板
    1.   
    2.   
    3.   
    4.   
    5. box-pack、box-align  
    6.   
    7.   
    8. #box {   
    9.     border:solid 1px red;   
    10.     width:600px;   
    11.     height:400px;   
    12.   
    13.     display : -moz-box;   
    14.     display : -webkit-box;   
    15.     display : box;   
    16. }   
    17. #box div {   
    18.     margin:4px;   
    19.     border:solid 1px #eee;   
    20. }   
    21. #box div img { width:120px; }   
    22.   
    23.   
    24.   
    25.   
    26.   
    27.     


        
    28.     


          
    29.     


           
    30.     


                    
      
  •   
  •   
  •   
  • 演示效果:

    子元素全部水平和垂直居中显示显示

    CSS Code复制内容到剪贴板
    1. #box{   
    2.       
    3.     box-pack:center;   
    4.     -moz-box-pack:center;   
    5.     -webkit-box-pack:center;   
    6.       
    7.     box-align:center;   
    8.     -moz-box-align:center;   
    9.     -webkit-box-align:center;   
    10. }   
    11.   

    演示效果:

    子元素全部位于盒子的左下角,富余空间位于右上角

    CSS Code复制内容到剪贴板
    1. #box{   
    2.       
    3.     box-pack:start;   
    4.     -moz-box-pack:start;   
    5.     -webkit-box-pack:start;   
    6.       
    7.     box-align:end;   
    8.     -moz-box-align:end;   
    9.     -webkit-box-align:end;   
    10. }   
    11.   

    演示效果:

    - 子元素水平平均分布,垂直伸展展示

    CSS Code复制内容到剪贴板
    1. #box{   
    2.       
    3.     box-pack:justify;   
    4.     -moz-box-pack:justify;   
    5.     -webkit-box-pack:justify;   
    6.       
    7.     box-align:stretch;   
    8.     -moz-box-align:stretch;   
    9.     -webkit-box-align:stretch;   
    10. }   
    11.   

    演示效果:

    - 子元素水平平均分布,在垂直方向上按基线分布

    CSS Code复制内容到剪贴板
    1. #box{   
    2.       
    3.     box-pack:justify;   
    4.     -moz-box-pack:justify;   
    5.     -webkit-box-pack:justify;   
    6.       
    7.     box-align:baselinebaseline;   
    8.     -moz-box-align:baselinebaseline;   
    9.     -webkit-box-align:baselinebaseline;   
    10.     font-size:28px;   
    11. }   
    12.   

    演示效果:

    - 子元素全部位于盒子的右侧并平均分布,并按垂直顺序进行分布

    CSS Code复制内容到剪贴板
    1. #box{   
    2.       
    3.     box-pack:justify;   
    4.     -moz-box-pack:justify;   
    5.     -webkit-box-pack:justify;   
    6.       
    7.     box-align:end;   
    8.     -moz-box-align:end;   
    9.     -webkit-box-align:end;   
    10.       
    11.     box-orient:vertical;   
    12.     -moz-box-orient:vertical;   
    13.     -webkit-box-orient:vertical;       
    14. }   
    15.   

    演示效果:

    空间溢出管理

    上述“子元素全部位于盒子的右侧并平均分布,并按垂直顺序进行分布”可以看出,弹性布局中盒子内的元素很容易“跑出”盒子的“包围圈”。这种现象被称为空间已出。与传统的盒模型一样,CSS允许使用overflow属性来处理溢出内容的显示方式。当然,我们还可以使用box-lines属性避免空间已出问题(目前各大浏览器支持不太好)。该属性语法如下:

    box-lines:single | multiple

    取值说明:

    single:所有子元素都单行或者单行显示。

    multiple:所有子元素可以多行或多列显示。

    实战体验:让子元素分行显示

    HTML代码:

    XML/HTML Code复制内容到剪贴板
    1.   
    2.   
    3.     


        
    4.     


        
    5.     


        
    6.     


        
    7.     


        
    8.     


        
    9.     


        
    10.     


        
      
  •   
  •   
  • CSS3代码:

    CSS Code复制内容到剪贴板
    1.   
    2. #box {   
    3.     border:solid 1px red;   
    4.     width:600px;   
    5.     height:400px;   
    6.     display : -moz-box;   
    7.     display : -webkit-box;   
    8.     display : box;   
    9. }   
    10. #box {  
    11.     -moz-box-lines : multiple;   
    12.     -webkit-box-lines : multiple;   
    13.     box-lines : multiple;   
    14. }   
    15. #box div {   
    16.     margin:4px;   
    17.     border:solid 1px #aaa;   
    18.     -moz-box-flex: 1;   
    19.     -webkit-box-flex: 1;   
    20.     box-flex: 1;   
    21. }   
    22. #box div img { width:120px; }   
    23.   
    24.   

    演示效果:

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    本文地址:http://blog.csdn.net/lovejulyer/article/details/51234774

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

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

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

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

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