CSS3 box-align 属性
对div中的子元素同时使用box-align和box-pack的居中属性:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
div {
width: 350px;
height: 100px;
border: 1px solid black;
/* Internet Explorer 10 */
display: -ms-flexbox;
-ms-flex-pack: center;
-ms-flex-align: center;
/* Firefox */
display: -moz-box;
-moz-box-pack: center;
-moz-box-align: center;
/* Safari, Chrome, and Opera */
display: -webkit-box;
-webkit-box-pack: center;
-webkit-box-align: center;
/* W3C */
display: box;
box-pack: center;
box-align: center;
}
</style>
</head>
<body>
<div>
<p>Center me!</p>
</div>
<p><b>注意:</b> Flexible boxes 在 IE 9和更早版本的浏览器中不兼容</p>
</body>
</html>
浏览器支持
目前所有主流浏览器都不支持 box-align 属性。
Internet Explorer 10 通过私有属性 -ms-flex-align 支持.
Firefox通过私有属性- MOZ-box-align支持。
Safari和Chrome通过私有属性-WebKit-box-align支持。
注意:Internet Explorer 9及更早IE版本不支持弹性盒子。
属性定义及使用说明
box- align属性指定box的子元素如何对齐。
默认值: | stretch |
---|---|
继承: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.boxAlign="center" |
语法
box-align: start|end|center|baseline|stretch;
值 | 说明 |
---|---|
start | 对于正常方向的boxes,每个子元素的顶部边缘放在沿box的顶部。反向箱,每个子元素的底边放在沿box的底部 |
end | 对于正常方向的boxes,每个子元素的顶部边缘放在沿box的底部。反向箱,每个子元素的底边放在沿box的顶部 |
center | 任何多余的空间被划分均匀,一半以上的子元素放在上面,剩下的子元素放在另一半 |
baseline | 如果box-orient是内嵌单轴或横向,所有的子元素都置于他们的基线对齐 |
stretch | 子元素拉伸以填充包含区块 |
在线实例
更改一个元素的box对齐值 - 这个例子演示了如何使用JavaScript来改变一个元素box-align值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.box {
display: -ms-flexbox;
display: -moz-box;
display: -webkit-box;
display: box;
width: 200px;
height: 100px;
border: 2px solid red;
}
</style>
<script>
function ChangeBoxAlign(x) {
// Returns the selected option's text
var boxAlign = x.options[x.selectedIndex].text;
var div = document.getElementById("myDiv");
if (div.style.MozBoxAlign !== undefined) {
div.style.MozBoxAlign = boxAlign;
} else if (div.style.webkitBoxAlign !== undefined) {
div.style.webkitBoxAlign = boxAlign;
} else if (div.style.msFlexAlign !== undefined) {
div.style.msFlexAlign = boxAlign;
} else {
alert("Your browser doesn't support this example!");
}
}
</script>
</head>
<body>
<div class="box" id="myDiv">
<b>first child</b>
<i>second child</i>
</div>
<select onchange="ChangeBoxAlign (this);" size="6">
<option selected="selected" />baseline
<option />center
<option />end
<option />inherit
<option />start
<option />stretch
</select>
<p><b>注意:</b> 这个实例在 Opera,或 Internet Explorer 9以及更早版本的浏览器中不兼容</p>
</body>
</html>