0 Comments

元素的对其方式--box-pack和box-align属性(1)

发布于:2012-12-11  |   作者:广州网站建设  |   已聚集:人围观
元素的对其方式--box-pack和box-align属性(1)

CSS 3新增的box-pack属性和box-align属性,分别用于定义盒元素内部水平对齐方式和垂直对齐方式。这种对齐方式,对盒元素内部的文字、图像及子元素都是有效的。基于webkit内核的替代私有属性是-webkit-box-pack和-webkit-box-align,基于gecko内核的替代私有属性是-moz-box-pack和-moz-box-align。

1. 参数说明

box-pack属性可设置子元素在水平方向上的对齐方式,其语法如下:

广州网站设计
  1. box-pack : start | end | center | justify; 

取值说明如下。

start:默认值,表示所有的子元素都显示在盒元素的左侧,额外的空间显示在盒元素右侧。

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

center:表示所有的子元素居中显示,额外的空间平均分配在两侧。

justify:表示所有的子元素散开显示,额外的空间在子元素之间平均分配,在第一个子元素之前和最后一个子元素之后不分配空间。

box-align属性可设置子元素在垂直方向上的对齐方式,其语法如下:

广州网站设计
  1. box-align : start | end | center | baseline | stretch; 

取值说明如下。

start:表示所有的子元素都显示在盒元素的顶部,额外的空间显示在盒元素底部。

end:表示所有的子元素都显示在盒元素的底部,额外的空间显示在盒元素顶部。

center:表示所有的子元素垂直居中显示,额外的空间平均分配在盒元素的上下两侧。

baseline:表示所有的子元素沿着基线显示。

stretch:默认值,表示每个子元素的高度被拉伸到适合的盒元素高度。

提示:box-pack属性和box-align属性仅在盒布局模式下使用。在传统的对齐方式中,有text-align属性和vertical-align属性分别定义元素内的水平方向对齐和垂直方向对齐,但不宜用于盒布局。

2. 自适应居中

在CSS 2.0时代,把元素布局在页面的正中央,是难以通过CSS样式表实现的,通常会借助JavaScript技术来实现,需要写大量代码,还会遇到兼容性问题。下面我们借助box-pack属性和box-align属性,把一个对话框布局在页面中央。

【示例4-7】 自适应居中的登录框。

广州网站建设
  1. <!DOCTYPE HTML> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"> 
  5. <title>自适应居中的登录框</title> 
  6. <style type="text/css"> 
  7. body, html {  
  8.     margin:0;  
  9.     padding:0;  
  10.     height:100%;  
  11. }  
  12. #box {  
  13.     width:100%;  
  14.     height:100%;  
  15.     background:url(images/sky.jpg) no-repeat 0 0;  
  16.     background-size:100% 100%;  
  17.     /* 开启盒布局 */  
  18.     display:-webkit-box;  
  19.     display:-moz-box;  
  20.     display:box;      
  21.     /* 水平居中 */  
  22.     -webkit-box-pack:center;  
  23.     -moz-box-pack:center;  
  24.     box-pack:center;  
  25.     /* 垂直居中 */  
  26.     -webkit-box-align:center;  
  27.     -moz-box-align:center;  
  28.     box-align:center;  
  29. }  
  30. #box div {  
  31.     opacity:0.8;  
  32. }  
  33. </style> 
  34. <body> 
  35. <div id="box"> 
  36.   <div><img src="images/login.png" /></div> 
  37. </div> 
  38. </body> 
  39. </html> 

广州网站建设

标签:
飞机