在CSS3彈性盒子模型中,我們可以使用box-orient屬性定義彈性盒子內部中“子元素”的排列方向。也就是盒子內部的子元素是橫著排,還是豎著走。
語法:
box-orient:取值;
說明:
box-orient屬性取值如下:
注意:在使用之前,用戶必須先把父元素的display屬性設置為box或者inline-box,彈性盒子模型才會生效。
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS3 box-orient屬性</title> <style type="text/css"> body { display:-webkit-box; /*定義元素為盒子顯示,注意書寫*/ -webkit-box-orient:horizontal; /*定義盒子元素內的元素從左到右流動顯示*/ } div{height:100px;} #box1{background:red;} #box2{background:blue;} #box3{background:yellow;} </style> </head> <body> <div id="box1">盒子1</div> <div id="box2">盒子2</div> <div id="box3">盒子3</div> </body> </html>
在浏覽器預覽效果如下:
分析:
在CSS2.1中,HTML文檔流的方向為“從上到下”,但是使用彈性盒模型之後,我們可以重新定義文檔流的方向為“從左到右”。如果要開啟彈性盒子模型,我們必須要設置父元素的display屬性值為box(或inline-box)才行。
在傳統布局方式下,如果定義並列顯示的三個欄目塊顯示為行內塊狀(display:inline-block;)或者內聯元素(display:inline;),則也可以實現相同的設計效果,但是顯示技術卻完全不同。
“display:-webkit-box;”兼容webkit內核浏覽器,如果是moz內核浏覽器,則需要寫成“display:-moz-box;”。注意是“display: -moz-box;”,而不是“-moz-display: box;”。
這個例子中,彈性盒子內部的“子元素”的寬度是由內容撐開的。如果沒有內容,則“子元素”不會有寬度。當然,我們也可以給“子元素”定義一定的寬度。