DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS3基礎 >> 13.5 盒子的彈性空間box-flex屬性
13.5 盒子的彈性空間box-flex屬性
編輯:CSS3基礎     

一、box-flex屬性

在CSS3彈性盒子模型中,我們可以使用box-flex屬性來定義彈性盒子內部的子元素是否具有彈性空間。如果子元素具有彈性空間,當彈性盒子(父元素)的尺寸放大或縮小的時候,具有彈性空間的子元素的尺寸也會放大或縮小。每當彈性盒子有額外的空間時,具有彈性空間的子元素也會擴大自身大小來填補這一空間。

語法:

box-flex:取值;

說明:

box-flex屬性取值是一個整數或者小數,不可為負數,默認值為0。

當盒子中包含多個定義了box-flex屬性的子元素時,浏覽器將會把這些子元素的box-flex屬性值相加,然後根據它們各自的值占總值的比列來分配盒子剩余的空間。

注意,box-flex屬性只有在彈性盒子確定了寬度或高度才有效。也就是說必須要先為父元素定義width或者height屬性值。

使用彈性空間設置,使得彈性盒子內部元素的總寬度和總高度,始終等於彈性盒子的寬度與高度。不過只有當彈性盒子具有確定的寬度或高度時,子元素的彈性空間才生效。

好像有點看不懂?還是來個例子吧!看完例子再回過頭重新理解一遍。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS3 box-flex屬性</title>
    <style type="text/css">
        body
        {
            display:-webkit-box;
            -webkit-box-orient:horizontal;   /*定義盒子元素內的元素從左到右流動顯示*/
            width:200px;
            height:150px;
        }
        #box1
        {
            background:red;
            -webkit-box-flex:1.0;
        }
        #box2
        {
            background:blue;
            -webkit-box-flex:2.0;
        }
        #box3
        {
            background:orange;
            -webkit-box-flex:1.0;
        }
    </style>
</head>
<body>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

這裡使用“box-orient:horizontal;”定義彈性盒子內部子元素水平排列,並且給彈性盒子指定了寬度為200px。之後我們只需要使用box-flex屬性給每一個子元素指定一個值,浏覽器就會自動計算每個子元素所占的比例,自動劃分寬度。這麼點數學問題,就不在這裡探討了。

當我們指定彈性盒子寬度為320px時,在浏覽器預覽效果如下:

現在我們回過去看看開頭那幾段話,好好理解一下。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved