使用字体时,CSS :: before伪属性可以约束宽度赋值吗?

时间:2015-08-21 20:30:59

标签: css font-awesome

我正在使用FontAwesome字体来推送当前项目中的图标,并希望在某些标签上使用:: before伪属性。

如下图所示,标签的对齐方式已关闭。我希望使用“宽度”来解决这个问题。确保图标水平占用相同空间的属性。

Images not aligned

我目前使用的CSS是

.title::before {
    font-family: FontAwesome;
    font-size: 1.2em;
    margin-right: 5px;
    width:35px; // this can be 34523px and still does nothing for the view
 }

&.error .title::before {
    content: $fa-var-exclamation-circle;
    color: $color_error;
}

虽然我知道对象是一个字体字形并且拥有自己的字体大小。我不想操纵较宽图标的字体大小来适应差异。当我按原样应用宽度时,没有变化,如上所述。

这似乎是风格的理性元素。我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

让我们回答:添加

display: inline-block;

到元素 - > http://jsfiddle.net/d72bo9q1/1/

.xxx:before {
    content: 'x';
    background-color: green;
    width: 100px;
    display:inline-block;
}
.xxx {
    background-color:orange;
}
<div class="xxx">bla bla bla</div>

答案 1 :(得分:1)

尝试将display: inline-block;text-align: center;添加到.title::before

.title::before {
    display: inline-block;
    text-align: center;
    width:35px;
    font-family: FontAwesome;
    font-size: 1.2em;
    margin-right: 5px;
}

display: inline-block;允许您为元素设置宽度。 text-align: center;确保图标以彼此为中心。

希望它有所帮助。