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>