CSS3 盒布局与弹性盒布局
什么是CSS3 盒布局
在网页布局中,如果让让几个块状区域横向排列,常用的方法就是使用float:left。但使用float属性时,会出现一些问题,例如浮动,并且如果不同版块的内容数量不一样就会造成各个版块的高度不一样。
那么CSS3 盒布局display:box就可以解决这样的问题,它可以不需要使用float属性就可以横排块状元素。并且每一个版块的高度都是一样的。它的作用与CSS3多栏布局columns很相似。
怎么使用CSS3 盒布局display:box呢?方法很简单,只需要给父元素加上display:box即可。
.tt{display:box;display:-webkit-box;display:-moz-box;}
实例代码如下:
<style>
.tt{display:box;display:-webkit-box;}
.ft1{font-size:20px;text-transform:capitalize;width:200px;background:#f00;padding:20px}
.ft2{font-size:20px;text-transform:uppercase;width:200px;background:yellow;padding:20px}
.ft3{font-size:20px;font-variant:small-caps;width:200px;background:green;padding:20px}
</style>
<div class="tt">
<div class="ft1">首字母大写:hello world首字母大写:hello world首字母大写:hello world首字母大写:hello world首字母大写:hello world首字母大写:hello world</div>
<div class="ft2">全部大写:hello world全部大写:hello world全部大写hello world全部大写:hello world全部大写:hello world</div>
<div class="ft3">小型大写:Hello World小型大写:Hello World小型大写:小型大写:Hello World</div>
</div>
什么是弹性盒布局
上面的盒布局可以自动将块状区域横排,但是它不会随浏览屏幕变化而变化宽度形成自适应。这时可以给盒布局里子版块添加box-flex属性让变成弹性盒布局,就会自适应了。
语法:
.ft1{-webkit-box-flex:1;-moz-box-flex:1;}
另外还可以通过box-ordinal-group属性来改变每个子版块的的顺序,后面数字越小越靠前。
.ft1{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;}