关于inline-block的应用

    display:inline-block;顾名思义是结合了inline和block的特性。就是将对象呈现为inline对象(不换行),但是对象内容作为block对象呈现(可以设置宽高)。总结来说就是,在可以设置宽高的同时,使元素保持在一行中。

    例如我们在做导航栏时,以前的设置方法要通过 float:left 来控制<li>来实现,还要解决浮动带来的种种影响。而现在可以直接用 display:inline-block; 来解决,具体代码如下:

HTML:

 <ul>
                <li class="active"><a href="#">新闻</a></li>
                <li><a href="#">体育</a></li>
                <li><a href="#">汽车</a></li>
                <li><a href="#">房产</a></li>
                <li><a href="#">旅游</a></li>
                <li><a href="#">教育</a></li>
</ul>

CSS:

ul, li, a{
    list-style-type: none;
    margin: 0;
    padding: 0;
}
a{
   text-decoration:none;
    color:#333
}

li{
    diaplay:inline-block;
    font-size:16px;
    width:80px;
    text-align:center;
}

可以实现导航栏居中。

当然也可以直接用来进行三列布局操作,而且不需要注意float布局带来的困扰。

diaplay:inline-block; 唯一需要注意的就是出现空隙,这些所谓的空隙就是空白符,这也是inline的默认现象。

原因是:内联元素的默认垂直对齐方式是和基线对齐,并不是和底部对齐。即默认vertical-align属性值为baseline。

解决方法:1.在其父元素的css中,即上述代码的ul{}中,添加 font-size:0px; 即可解决。(这个相对比较简单,但对于文本多的没那么友好);

2.改变vertical-align属性:根据需求可以改为middle、top、bottom、text-bottom等(推荐

posted @ 2020-06-18 13:27  initiate  阅读(191)  评论(0编辑  收藏  举报