本文由 DTcms素材网 – DT素材网 发布,转载请注明出处,如有问题请联系我们!如何使用CSS3中box-orient属性来布局方向?(代码教程)
收藏在CSS3弹性盒子模型中,我们可以使用box-orient属性定义弹性盒子内部中“子元素”的排列方向。也就是盒子内部的子元素是横着排,还是竖着走。
box-orient属性取值如下:
horizontal 弹性盒子“从左到右”在一条水平线上显示它的“子元素”
vertical 弹性盒子“从上到下”在一条垂直线上显示它的“子元素”
inline-axis 弹性盒子“沿着内联轴”显示它的“子元素”(默认值)
block-axis 弹性盒子“沿着块轴”显示它的“子元素”
注意:在使用之前,用户必须先把父元素的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;”。
这个例子中,弹性盒子内部的“子元素”的宽度是由内容撑开的。如果没有内容,则“子元素”不会有宽度。当然,我们也可以给“子元素”定义一定的宽度。