11

使用带有 CSS 的材质图标,我有以下代码呈现带有图标和文本的链接。

<a href="#"><i class="material-icons">group_work</i>Groups</a>

正如您在下图中看到的那样,文本似乎正在下沉。我希望它们垂直居中对齐。我怎样才能做到这一点?

图标和文本对齐错误

PS。(不是设计师!)

4

4 回答 4

24

要垂直居中元素,您可以使用vertical-algin: middle;规则。在您的情况下,这很可能是:

.material-icons {
  vertical-align: middle;
}

这是您的深色按钮的示例:

.material-icons {
  vertical-align: middle;
  margin-right: 5px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<a href="#" class="grey darken-3 btn"><i class="material-icons">group_work</i>Groups</a>

于 2016-10-11T14:55:09.507 回答
1

vertical-align:middle applied to the iconi` 可能是最简单的选项,但结果可能不一致。

通过将链接设置为,我发现了更好的结果,display:inline-flex但差异非常微妙。

vertical-align仍然可以用作不支持的浏览器的后备。

a {
  margin: 1em;
  display: inline-block;
}
a i {
  vertical-align: middle;
}
a.flex {
  display: inline-flex;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">


<a href="#" class=""><i class="material-icons">group_work</i>Groups</a>
<br/>
<a href="#" class="flex"><i class="material-icons">group_work</i>Groups</a>

于 2016-10-11T14:56:21.560 回答
1

<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.css" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<a href="#" class="grey darken-4 btn"><i class="material-icons left">group_work</i>Groups</a>

于 2016-10-11T15:08:42.620 回答
-1
a {
  display: inline-flex;
  align-items: center;
}

会成功的;)

于 2018-08-30T14:29:42.057 回答