一、inline-block是CSS2.1中新增的盒类型,在div中将display属性设定为"inline-block",则div显示效果与设置display属性为"inline"是同样的效果。css
inline-block具备inline属性的列属性,内部又具备block属性的块属性,可使用width,height,margin,padding,border等元素。html
二、使用inline-block能够在某些状况下替代float浮动元素,PS:要作一个横向导航条spa
在inline-block出现以前,通常都是使用如下代码,来完成上述功能:code
<div class="nav"> <ul> <li><a href="">AngularJS</a></li> <li><a href="">AngularJS</a></li> <li><a href="">AngularJS</a></li> <li><a href="">AngularJS</a></li> <li><a href="">AngularJS</a></li> <li><a href="">AngularJS</a></li> </ul> </div> li { float: left; list-style: none; width: 100px; padding: 10px 0; }
而使用inline-block,则能够经过以下代码完成:htm
li { display: inline-block; width: 100px; padding: 10px 0; text-align: center; }
关于二者的区别,在于float脱离文档流,如果须要文字环绕,则应该选择float元素,若须要让nav居中,或垂直对齐,则须要用inline-block。blog
而在使用inline-block时,如果给上述li元素加上边框,则会发现左右有空白出现,这时有何解决方法呢?如今让咱们来看看解决方法:文档