CSS 3新增的box-flex属性,用于定义盒元素内部的子元素是否具有空间弹性。当盒元素的尺寸缩小(或扩大)时,被定义为有空间弹性的子元素的尺寸也会缩小(或扩大)。每当盒元素有额外的空间时,具有空间弹性的子元素,会扩大自身大小来填补这一空间。基于webkit内核的替代私有属性是-webkit-box-flex,基于gecko内核的替代私有属性是-moz-box-flex。
1. 参数说明
box-flex属性的语法如下:
广州网站建设
- box-flex: <value>;
取值说明如下。
<value>:该属性值是一个整数或者小数,不可为负值,默认值为0.0。使用空间弹性属性设置,使得盒元素的内部元素的总宽度和总高度,始终等于盒元素的宽度与高度。不过只有当盒元素具有确定的宽度或高度时,才能表现出子元素的空间弹性。
2. 子元素的弹性空间
下面的示例中,在盒元素的内部设置了宽度相等的三栏:菜单、文章列表和工具,并设置菜单栏的box-flex属性,使其具有空间弹性。
【示例4-5】 具有空间弹性的菜单栏。
广州网站设计
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="utf-8">
- <title>具有空间弹性的菜单栏</title>
- <style type="text/css">
- .container {
- width:100%; /* 设置盒元素的宽度为100% */
- background-color:#CCC;
- display:-webkit-box;
- display:-moz-box;
- display:box;
- }
- .container div {
- color:#FFF;
- font-size:12px;
- padding:10px;
- line-height:20px;
- width:100px; /* 设置三个栏目的固定宽度100px */
- }
- .container div ul {
- margin:0;
- padding-left:20px;
- }
- .container .left-aside {
- background-color:#F63;
- /* 设置菜单栏具有空间弹性 */
- -webkit-box-flex:1; /* 兼容webkit内核 */
- -moz-box-flex:1; /* 兼容gecko内核 */
- box-flex:1; /* 标准用法 */
- }
- .container .center-content {
- background-color:#390;
- }
- .container .right-aside {
- background-color:#039;
- }
- </style>
- <body>
- <div class="container">
- <div class="left-aside">
- <h2>菜单</h2>
- <ul>
- <li>HTML5</li>
- <li>CSS 3</li>
- <li>活动沙龙</li>
- </ul>
- </div>
- <div class="center-content">
- <h2>文章列表</h2>
- <ul>
- <li>文本阴影</li>
- <li>色彩模式</li>
- <li>多重背景</li>
- <li>边框圆角</li>
- <li>新型盒布局</li>
- <li>盒子阴影</li>
- </ul>
- </div>
- <div class="right-aside">
- <h2>工具</h2>
- <ul>
- <li>天气预报</li>
- <li>货币汇率</li>
- </ul>
- </div>
- </div>
- </body>
- </html>



