我目前正在尝试将 Menu.Item 中的图标和文本与 Semantic UI React V.0.68.2 对齐。
目前我的 HTML 输出如下所示:
<a class="active item pointer">
<i aria-hidden="true" class="icon ti-icon ti-home large"></i>
Dashboard
</a>
我的 JSX 是这样的:
<Menu vertical className="some classes" icon=''>
<Menu.Item
active={active}
onClick={onClick}
className="some class"
>
<Icon name="home" large /> Dashboard
</Menu.Item>
</Menu>
我写了一个新的图标组件来使用我自己的图标字体,看起来像这样。我试图尽可能接近语义 UI 的 React 实现中的原始 Icon 类。
import React, { Component } from "react";
import classnames from "classnames";
/**
* @class Icon
* @extends {Component}
* @description Icon class for themify icons. Replacement for semantic ui Icon class
*/
class Icon extends Component {
render() {
var iconClass = classnames("icon ti-icon ti-" + this.props.name, {
big: this.props.big,
large: this.props.large,
close: this.props.close
});
return (
<i
aria-hidden={true}
className={this.props.close ? iconClass.replace("icon", "") : iconClass}
onClick={this.props.onClick}
/>
);
}
}
export default Icon;
现在我希望文本和图标垂直居中,但我无法让它工作,它们的文本似乎总是在其父节点的顶部。但实际上我希望它垂直居中显示在 Menu.Item 中。与任何大小的图标。因此,当我将图标的大小更改为大时,文本应始终垂直居中。大小类与语义 UI 中的相同。
有谁知道如何实现这一目标?提前致谢 :)