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

2020-04-30 14:47:10易采站长站整理

}   
#box2 div,#box3 div{   
    display:inline;   
}   
</style>   
  

演示效果:

弹性空间的实现和分配

  在默认情况下,子元素并不具有弹性,它会竟可能的宽,以便使其所包含的内容可见,并且不会有任何溢出。如果要改变它的尺寸,则可以使用width和height属性来实现,当然也可以使用min-height,min-width,max-height,max-width等属性来限制尺寸。

  当box-flex属性至少大于0时,它会变得富有弹性。当子元素具有弹性时,可以通过下面的方式来改变它的尺寸:

1、使用width,height,min-height,min-width,max-height,max-width等属性来定义尺寸。

2、使用盒子的尺寸来限制子元素的弹性尺寸。

3、借助盒子富余所有空间来限制元素的弹性尺寸。

  如果子元素没有声明大小,那么其尺寸将完全取决于盒子的大小,即子元素的大小等于盒子的大小乘以它的box-flex属性值在所有子元素的box-flex属性值总和中的百分比。使用公式表示如下:

子元素的尺寸=盒子的尺寸*子元素的box-flex属性值/所有子元素的box-flex属性值的和

如果一个或多个子元素声明了具体的尺寸,那么其大小将计入其中,余下的弹性盒子将按照上面的原则分享剩余的可利用空间。

由于受内部图片大小的支撑,导致子元素的空间总是大于盒子的 富余空间,这时将出现解析异常。

box-flex属性对子元素的布局影响

HTML代码:

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

<body>  
<h1><img src="images/web3_13.gif" /></h1>  
<div id="box">  
    <!–左侧栏目–>  
    <div id="box1"><img src="images/web3_01.gif" /></div>  
    <!–中间栏目–>  
    <div id="box2"></div>  
    <!–右侧栏目–>     
    <div id="box3"></div>          
</div>  
</body>  
  

中间和右侧各占一半剩余的空间

CSS3代码:

CSS Code复制内容到剪贴板

#box2{   
    box-flex: 2;   
    -moz-box-flex: 2;