水平排列 div 元素的子元素:
div
{
width:350px;
height:100px;
border:1px solid black;
/* Firefox */
display:-moz-box;
-moz-box-orient:horizontal;
/* Safari、Opera 以及 Chrome */
display:-webkit-box;
-webkit-box-orient:horizontal;
/* W3C */
display:box;
box-orient:horizontal;
}
目前没有浏览器支持 box-orient 属性。
Firefox 支持替代的 -moz-box-orient 属性。
Safari、Opera 以及 Chrome 支持替代的 -webkit-box-orient 属性。
box-orient 属性规定框的子元素应该被水平或垂直排列。
提示:水平框中的子元素从左向右进行显示,而垂直框的子元素从上向下进行显示。不过,box-direction 和 box-ordinal-group 能够改变这种顺序。
默认值: | inline-axis |
---|---|
继承性: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxOrient="vertical" |
box-orient: horizontal|vertical|inline-axis|block-axis|inherit;
值 | 描述 | 测试 |
---|---|---|
horizontal | 在水平行中从左向右排列子元素。 | 测试 |
vertical | 从上向下垂直排列子元素。 | 测试 |
inline-axis | 沿着行内轴来排列子元素(映射为 horizontal)。 | 测试 |
block-axis | 沿着块轴来排列子元素(映射为 vertical)。 | 测试 |
inherit | 应该从父元素继承 box-orient 属性的值。 |
以反方向显示 div 框的子元素:
div { width:350px; height:100px; border:1px solid black; /* Firefox */ display:-moz-box; -moz-box-direction:reverse; /* Safari、Opera 以及 Chrome */ display:-webkit-box; -webkit-box-direction:reverse; /* W3C */ display:box; box-direction:reverse; }
目前没有浏览器支持 box-direction 属性。
Firefox 支持替代的 -moz-box-direction 属性。
Safari、Opera 以及 Chrome 支持替代的 -webkit-box-direction 属性。
box-direction 属性规定框元素的子元素以什么方向来排列。
默认值: | normal |
---|---|
继承性: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxDirection="reverse" |
box-direction: normal|reverse|inherit;
值 | 描述 | 测试 |
---|---|---|
normal | 以默认方向显示子元素。 | 测试 |
reverse | 以反方向显示子元素。 | 测试 |
inherit | 应该从子元素继承 box-direction 属性的值 |
通过使用 box-align and box-pack 属性,居中 div 框的子元素:
div { width:350px; height:100px; border:1px solid black; /* Firefox */ display:-moz-box; -moz-box-pack:center; -moz-box-align:center; /* Safari、Opera 以及 Chrome */ display:-webkit-box; -webkit-box-pack:center; -webkit-box-align:center; /* W3C */ display:box; box-pack:center; box-align:center; }
页面底部有更多实例。
目前没有浏览器支持 box-align 属性。
Firefox 支持替代的 -moz-box-align 属性。
Safari、Opera 以及 Chrome 支持替代的 -webkit-box-align 属性。
box-align 属性规定如何对齐框的子元素。
默认值: | stretch |
---|---|
继承性: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxAlign="center" |
box-align: start|end|center|baseline|stretch;
值 | 描述 | 测试 |
---|---|---|
start | 对于正常方向的框,每个子元素的上边缘沿着框的顶边放置。 对于反方向的框,每个子元素的下边缘沿着框的底边放置。 | 测试 |
end | 对于正常方向的框,每个子元素的下边缘沿着框的底边放置。 对于反方向的框,每个子元素的上边缘沿着框的顶边放置。 | 测试 |
center | 均等地分割多余的空间,一半位于子元素之上,另一半位于子元素之下。 | 测试 |
baseline | 如果 box-orient 是inline-axis或horizontal,所有子元素均与其基线对齐。 | 测试 |
stretch | 拉伸子元素以填充包含块 |
定义两个可伸缩的 p 元素。如果父元素的总宽度是 300 像素,则 #p1 的宽度是 100 像素,而 #p2 的宽度是 200 像素:
#p1 { -moz-box-flex:1.0; /* Firefox */ -webkit-box-flex:1.0; /* Safari 和 Chrome */ box-flex:1.0; border:1px solid red; } #p2 { -moz-box-flex:2.0; /* Firefox */ -webkit-box-flex:2.0; /* Safari 和 Chrome */ box-flex:2.0; border:1px solid blue; }
目前没有浏览器支持 box-flex 属性。
Firefox 支持替代的 -moz-box-flex 属性。
Safari、Opera 以及 Chrome 支持替代的 -webkit-box-flex 属性。
box-flex 属性规定框的子元素是否可伸缩其尺寸。
提示:可伸缩元素能够随着框的缩小或扩大而缩写或放大。只要框中有多余的空间,可伸缩元素就会扩展来填充这些空间。
默认值: | 0.0(指示该元素不可伸缩) |
---|---|
继承性: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxFlex=2.0 |
box-flex: value;
值 | 描述 |
---|---|
value | 元素的可伸缩行。柔性是相对的,例如 box-flex 为 2 的子元素两倍于 box-flex 为 1 的子元素。 |
通过一起使用 box-align 和 box-pack 属性,对 div 框的子元素进行居中:
div
{
width:350px;
height:100px;
border:1px solid black;
/* Firefox */
display:-moz-box;
-moz-box-pack:center;
-moz-box-align:center;
/* Safari、Opera 以及 Chrome */
display:-webkit-box;
-webkit-box-pack:center;
-webkit-box-align:center;
/* W3C */
display:box;
box-pack:center;
box-align:center;
}
目前没有浏览器支持 box-pack 属性。
Firefox 支持替代的 -moz-box-pack 属性。
Safari、Opera 以及 Chrome 支持替代的 -webkit-box-pack 属性。
box-pack 属性规定当框大于子元素的尺寸,在何处放置子元素。
该属性规定水平框中的水平位置,以及垂直框中的垂直位置。
默认值: | start |
---|---|
继承性: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxPack="center" |
box-pack: start|end|center|justify;
值 | 描述 | 测试 |
---|---|---|
start | 对于正常方向的框,首个子元素的左边缘被放在左侧(最后的子元素后是所有剩余的空间) 对于相反方向的框,最后子元素的右边缘被放在右侧(首个子元素前是所有剩余的空间) | 测试 |
end | 对于正常方向的框,最后子元素的右边缘被放在右侧(首个子元素前是所有剩余的空间)。 对于相反方向的框,首个子元素的左边缘被放在左侧(最后子元素后是所有剩余的空间)。 | 测试 |
center | 均等地分割多余空间,其中一半空间被置于首个子元素前,另一半被置于最后一个子元素后 | 测试 |
justify | 在每个子元素之间分割多余的空间(首个子元素前和最后一个子元素后没有多余的空间)。 | 测试 |