在Materialise上将材质图标与文本对齐

时间:2016-10-06 23:27:47

标签: css icons materialize google-material-icons

最近,我开始研究一个包含一些带有某些字段的表的项目,我想通过图标一侧的MaterialiseCSS添加一些Material Design Icons。看看图像,你可能会得到它

example

我尝试了一切,垂直对齐,内联(-block),flex,以及我在堆栈溢出中找到的所有内容。所以不,它不重复,我真的需要帮助。 谢谢。

8 个答案:

答案 0 :(得分:19)

我在最长的时间内遇到了同样的问题,但找到了一个对我有用的解决方案。首先,为要居中的图标提供自定义类。然后,添加一个底部垂直对齐和一个匹配或小于它旁边的文本的字体大小。另外,请勿在图标类名中指定图标大小。如果这对您有用,请告诉我。

CSS:

.inline-icon {
   vertical-align: bottom;
   font-size: 18px !important;
}

HTML:

<p>"Your text goes here"<i class="inline-icon material-icons">warning</i></p>

答案 1 :(得分:12)

这是一种方法。当然这取决于图标,你必须找到适合图标高度的特定font-size。例子:

#txt1{
 font-size:28px;
 line-height:24px;
}
#txt2{
 font-size:36px;
 line-height:24px;
}
#txt3{
 font-size:21px;
 line-height:24px;
}
.material-icons{
    display: inline-flex;
    vertical-align: top;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<span id="txt1">ID</span><i class="material-icons">info_outline</i>
</br>
<span id="txt2">ID</span><i class="material-icons">settings_cell</i>
</br>
<span id="txt3">ID</span><i class="material-icons">stay_primary_landscape</i>

答案 2 :(得分:4)

将其放在.valign-wrapper中,如下所示:

<span class="valign-wrapper"><i class="grey-text material-icons">play_arrow</i>&nbsp 1 Sep 2020</span>
<span class="valign-wrapper"><i class="grey-text material-icons">stop</i>&nbsp 30 Jul 2021</span> 

答案 3 :(得分:1)

您可以将图标顶部的边缘更改为任何POSITIVE或NEGATIVE值以使其对齐。例如,

<i class="material-icons" style="margin-top:-10px">info_outline</i>

答案 4 :(得分:0)

简单:

您可以将另一个类(“正确”)合并在一起:

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<span id="txt1">ID</span><i class="material-icons right">info_outline</i>
</br>
<span id="txt2">ID</span><i class="material-icons right">settings_cell</i>
</br>
<span id="txt3">ID</span><i class="material-icons right">stay_primary_landscape</i>

您可以在material-icons类中看到“正确”一词。

答案 5 :(得分:0)

只需将vertical-align:调整为负值即可。

  

示例代码:

<i class="material-icons" style="vertical-align: -6px;">folder</i>

答案 6 :(得分:0)

您可以在HTML中执行以下操作:

<span>ID</span> <i class="material-icons">info</i>

然后在CSS中,可以如下设置 material-icons类的样式:

.material-icons {
    diplay:inline-flex;
    vertical-align:top;
}

答案 7 :(得分:0)

放在这里作为答案,因为 Pedro Muñoz 的评论对我有用。

.material-icons { display: inline-flex; vertical-align: text-bottom; }