本文由 DTcms素材网 – DT素材网 发布,转载请注明出处,如有问题请联系我们!盒子内部对齐box-pack属性与box-align属性详解
收藏 本篇文章给大家带来的内容是关于盒子内部对齐box-pack属性与box-align属性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
当弹性元素与非弹性元素混合排版时,有可能会出现所有子元素的尺寸大于或小于盒子的尺寸,从而出现盒子空间不足或者富余的情况。这时就需要一种方法来管理盒子的空间。如果子元素的总尺寸小于盒子的尺寸,则可以使用box-align和box-pack属性进行管理。
CSS3新增的box-pack属性和box-align属性,分别用于定义盒元素内部“子元素”的水平方向和垂直方向上的富余空间管理方式。这些对齐方式,对盒元素内部的文字、图形以及子元素都是有效的。
一、水平对齐box-pack属性
box-pack属性可以在水平方向上对盒子的富余空间进行管理。
二、垂直对象box-align属性
box-align属性可以在垂直方向上对盒子的富余空间进行管理。
三、实际应用
在CSS2中,如果想要让文字垂直居中,往往都是设置height属性值等于line-height属性值 ,不过学习了这一节,我们只要让div元素使用box-align属性(排列方向默认为horizontal),文字就可以垂直居中了。
举例1:文字自适应居中(包括垂直居中和水平居中)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>盒子内部对齐box-pack属性与box-align属性</title> <style type="text/css"> div { width:200px; height:160px; display:-webkit-box; -webkit-box-align:center; -webkit-box-pack:center; background-color:pink; } </style> </head> <body> <div>5G云资源分享网</div> </body> </html>
举例2:图片自适应居中(包括垂直居中和水平居中)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>盒子内部对齐box-pack属性与box-align属性</title> <style type="text/css"> #control { margin-bottom:10px; } #view { width:160px; height:100px; display:-webkit-box; -webkit-box-orient:horizontal; -webkit-box-align:center; -webkit-box-pack:center; border:1px solid silver; } </style> <script src="jquery-1.11.3.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#range_width").change(function () { var num = $(this).val(); $("#value_width").text(num + "px"); $("#view").css("width", num + "px"); }); $("#range_height").change(function () { var num = $(this).val(); $("#value_height").text(num + "px"); $("#view").css("height", num + "px"); }); }) </script> </head> <body> <div id="control"> 宽度:<input id="range_width" type="range" min="160" max="320" value="160"/><span id="value_width">160px</span><br /> 高度:<input id="range_height" type="range" min="100" max="240" value="100"/><span id="value_height">100px</span> </div> <div id="view"><img src="../App_images/lesson/run_css3/css3.png" alt=""/></div> </body> </html>