如何用css水平对齐图标?

时间:2016-02-23 14:37:25

标签: html css

我有这个html标记,我想水平居中一个精灵中的图标,它有15%的图标和85%的信息数据类。我想将图标对齐中心。

<div class="col-xs-12 mf-item">
<div class="ico icon-theme"></div>
<div class="info-data">Theme</div>
</div>

.mf-item {
    background-color: #ffffff;
    display: inline-block;
    height: auto;
    margin-left: 0;
    min-height: 30px;
}

.ico {
    display: inline-block;
    line-height: 30px;
    margin: 0 auto;
    padding-right: 5px;
    text-align: center;
    vertical-align: middle;
    width: 15%;
}

.info-data {
    border-bottom: 1px solid #0f8ccd;
    display: inline-block;
    line-height: 30px;
    margin: 0;
    width: 85%;
}

.icon-theme {
    background-position: 0 -90px;
    height: 30px;
    width: 23px;
}

任何帮助都会很感激!!!! 谢谢!

2 个答案:

答案 0 :(得分:0)

尝试 vertical-align: middle; 这通常会成功!

答案 1 :(得分:0)

您遗失了float:left样式。我会做这样的事情

* {
  box-sizing: border-box;
}

.mf-item {
    background-color: #ffffff;
    display: inline-block;
    height: auto;
    margin-left: 0;
    min-height: 30px;
    width:100%;
}

.ico {
    display: inline-block;
    height: 30px;
    margin: 0 auto;
    padding-right: 5px;
    text-align: center;
    vertical-align: middle;
    width: 15%;
    float:left;    
}

.info-data {
    border-bottom: 1px solid #0f8ccd;
    display: inline-block;
    line-height: 30px;
    margin: 0;
    width: 85%; 
    float:left;
}

.icon-theme {
    background-position: 0 -90px;
    height: 30px;
    width: 23px;
    display:block;
margin:0 auto;

    background-color:red; //your background image imaging
}
<div class="col-xs-12 mf-item">
  <div class="ico"><span class="icon-theme"></span></div>
  <div class="info-data">Theme</div>
</div>