CSS的box-align属性控制子元素布局实例

所属分类: 网页制作 / CSS 阅读数: 974
收藏 0 赞 0 分享

box-align 说明
box-align属性, 指定元素内子要素纵方向排列指定时使用。<规定框中子元素的显示次序。>
容器元素比子元素大很多的情况下,使用box-align属性,可以指定子元素的排序顺序,并且可以指定子元素如何表示。
还有,纵方向排列一说,可以解释为元素内子元素的配置方向默认值为水平,使用此属性后垂直方向进行排列。也可以使用 box-orient:vertical来设置子元素排列方向。

属性值
start:标准方向元素,各子要素上端沿着元素上端进行排列,余下的位置向下排序, 反方向元素的话,则沿着下端进行排序,余下的位置向上排序。<对于正常方向的框,每个子元素的上边缘沿着框的顶边放置。 对于反方向的框,每个子元素的下边缘沿着框的底边放置。>
end:标准方向元素,各子要素下端沿着元素下端进行排列,余下的位置向上排序, 反方向元素的话,则沿着上端进行排序,余下的位置向下排序。<对于正常方向的框,每个子元素的下边缘沿着框的底边放置。 对于反方向的框,每个子元素的上边缘沿着框的顶边放置。>
center:剩余空间,进行均等分配。<均等地分割多余的空间,一半位于子元素之上,另一半位于子元素之下。>
baseline:inline-axis和horizontal的场合,所有子元素baseline配置排列<如果 box-orient 是inline-axis或horizontal,所有子元素均与其基线对齐。>
stretch:各子元素按照容器元素的高来自动排序(默认值)

关于居中
原来水平垂直居中写法为:height=line-height 实现垂直居中text-align实现水平居中
现在使用box-align实现垂直居中box-pack 实现水平居中

CSS Code复制内容到剪贴板
  1. <!DOCTYPE html>   
  2.   
  3. <html>   
  4. <head>   
  5.     <title>水平及垂直居中</title>   
  6. </head>   
  7. <body >   
  8. <div style="width:300px; height: 300px; background-color: #ccc;  
  9.   line-height: 300px; text-align: center;">   
  10.     <input type="button" value="原有居中方式">   
  11. </div>   
  12. <div style="width:300px; height: 300px; background-color: #aaa;  
  13.  display:-webkit-box;-webkit-box-pack: center;  
  14.    ; -webkit-box-align:center">   
  15.     <input type="button" value="css3的居中方式">   
  16. </div>   
  17. </body>   
  18. </html>  

实例代码

CSS Code复制内容到剪贴板
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  5. <title> box-align </title>   
  6. <style>   
  7. div.prefix_sample1 {   
  8. width:500pxheight:100px;   
  9. background-color:yellow;   
  10. display:-moz-box;   
  11. display:-webkit-box;   
  12. display:-o-box;   
  13. display:-ms-box;   
  14. -moz-box-align:start;   
  15. -webkit-box-align:start;   
  16. -o-box-align:start;   
  17. -ms-box-align:start;   
  18. }   
  19. div.prefix_sample2 {   
  20. width:500pxheight:100px;   
  21. background-color:yellow;   
  22. display:-moz-box;   
  23. display:-webkit-box;   
  24. display:-o-box;   
  25. display:-ms-box;   
  26. -moz-box-align:end;   
  27. -webkit-box-align:end;   
  28. -o-box-align:end;   
  29. -ms-box-align:end;   
  30. }   
  31. div.prefix_sample3 {   
  32. width:500pxheight:100px;   
  33. background-color:yellow;   
  34. display:-moz-box;   
  35. display:-webkit-box;   
  36. display:-o-box;   
  37. display:-ms-box;   
  38. -moz-box-align:center;   
  39. -webkit-box-align:center;   
  40. -o-box-align:center;   
  41. -ms-box-align:center;   
  42. }   
  43. div.prefix_sample4 {   
  44. width:500pxheight:100px;   
  45. background-color:yellow;   
  46. display:-moz-box;   
  47. display:-webkit-box;   
  48. display:-o-box;   
  49. display:-ms-box;   
  50. -moz-box-align:baselinebaseline;   
  51. -webkit-box-align:baselinebaseline;   
  52. -o-box-align:baselinebaseline;   
  53. -ms-box-align:baselinebaseline;   
  54. }   
  55. div.prefix_sample5 {   
  56. width:500pxheight:100px;   
  57. background-color:yellow;   
  58. display:-moz-box;   
  59. display:-webkit-box;   
  60. display:-o-box;   
  61. display:-ms-box;   
  62. -moz-box-align:stretch;   
  63. -webkit-box-align:stretch;   
  64. -o-box-align:stretch;   
  65. -ms-box-align:stretch;   
  66. }   
  67.     
  68. div.aka {background-color:red;}   
  69. div.midori {background-color:green;}   
  70. div.ao {background-color:blue;}   
  71. </style>   
  72.     
  73. </head>   
  74.     
  75. <body>   
  76. <h4>box-align:start;</h4>   
  77. <div class="prefix_sample1">   
  78. <div class="aka">abcde</div>   
  79. <div class="midori">abcde</div>   
  80. <div class="ao">abcde</div>   
  81. </div>   
  82.     
  83. <h4>box-align:end;</h4>   
  84. <div class="prefix_sample2">   
  85. <div class="aka">abcde</div>   
  86. <div class="midori">abcde</div>   
  87. <div class="ao">abcde</div>   
  88. </div>   
  89.     
  90. <h4>box-align:center; </h4>   
  91. <div class="prefix_sample3">   
  92. <div class="aka">abcde</div>   
  93. <div class="midori">abcde</div>   
  94. <div class="ao">abcde</div>   
  95. </div>   
  96.     
  97. <h4>box-align:baselinebaseline; </h4>   
  98. <div class="prefix_sample4">   
  99. <div class="aka">abcde</div>   
  100. <div class="midori">abcde</div>   
  101. <div class="ao">abcde</div>   
  102. </div>   
  103.     
  104. <h4>box-align:stretch; </h4>   
  105. <div class="prefix_sample5">   
  106. <div class="aka">abcde</div>   
  107. <div class="midori">abcde</div>   
  108. <div class="ao">abcde</div>   
  109. </div>   
  110.     
  111. </body>   
  112. </html>  

实例图
201671113215249.jpg (514×802)

更多精彩内容其他人还在看

Opera中国的WEB标准课程

网页制作Webjx文章简介:在这篇文章里,我要向大家介绍我和其他很多人花费数月时间开发的一个课程——Web标准课程,该课程旨在向大家提供Web设计和开发的坚实基础,无论读者是谁,此教程完全免费、可访问,并且不需要预备知识。当然,我主要还
收藏 0 赞 0 分享

CSS样式表渐进增强的基本概念

网页制作Webjx文章简介:如果你挠着头想弄清楚优雅降级和渐进增强的区别,我告诉你,这是视角问题。优雅降级和渐进增强都考虑网站在各种设备的各种浏览器上如何良好运转。两者区别的关键在于它们各自关注的焦点,以及这种关注对工作流程的影响
收藏 0 赞 0 分享

简单介绍Web Developer插件制作网页

网页制作Webjx文章简介:Firefox浏览器是一个良好支持W3C标准的开放源代码的浏览器,拥有Linux/Windows/Mac版本。因为Firefox浏览器良好支持W3C标准,所以使用Firefox来调试网页是非常好的。 Firefox浏览器是
收藏 0 赞 0 分享

CSS布局带来的巨大影响:CSS display属性值

网页制作Webjx文章简介:网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性。我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响。 应原书编辑要求,先在文章顶部给出链接:《Everything You
收藏 0 赞 0 分享

用div css模拟表格对角线

这只是探讨一种CSS模拟表格对角线的用法,实际在工作中可能觉得这样做有点小题大作,这不是本主题讨论的重点。如果对此深以为然的朋友,请一笑过之 首先声明: 这只是探讨一种CSS模拟表格对角线的
收藏 0 赞 0 分享

IE Firefox在css中的差别 (部分)

1、单位问题 问题:任何距离的数值ie可以不加单位,ff必须要求写单位(0除外) 解决:写全单位如padding:0px; 2、水平居中 问题:div里的内容,ie默认为center,而ff默认left 解决:mairgin:0px auto; 3、高度问题
收藏 0 赞 0 分享

不用js可以实现信息提示效果

[code] <style> body { font:verdena; font-size:14px; color:#000 } h1{ font:verdena; font-size:22px; color:#000 } h2{ font:verdena;
收藏 0 赞 0 分享

CSS解决未知高度的垂直水平居中自适应问题

今天有人问起,晚上试着写出来,供参考; 以下代码兼容主流浏览器IE6、IE7、Firefox、Opera。 从最简单的开始………… 一、如何让一个DIV水平居中? 这个简单不作过多说明! [code] <st
收藏 0 赞 0 分享

CSS cursor 属性 -- 鼠标指针样式效果

取值: [ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize |
收藏 0 赞 0 分享

css 简单区别ie6,ie7,firefox的写法

同一样式里可以这样 [code] margin:17px; FF +margin:17px; IE6 IE7 _margin:17px; IE6 [/code] 按这个顺序,刚好区分开三个浏览器
收藏 0 赞 0 分享
查看更多