【问题标题】:Semantic UI Vertical Align Icon and Menu语义 UI 垂直对齐图标和菜单
【发布时间】:2017-11-05 13:39:33
【问题描述】:

我目前正在尝试将 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 中的相同。

有人知道如何实现这一目标吗?在此先感谢:)

【问题讨论】:

  • 你试过使用行高吗?或者你考虑过使用 flexbox 吗?

标签: css reactjs semantic-ui semantic-ui-react


【解决方案1】:

您好,您遇到了一个非常常见的问题,可能的解决方案在以下代码笔中描述 https://codepen.io/anon/pen/XEKZwq

我建议你做的是将文本包装在一个跨度中,而不是:

<a class="active item pointer">
    <i aria-hidden="true" class="icon ti-icon ti-home large"></i>
    Dashboard
</a>

您执行以下操作

<a class="active item pointer">
    <i aria-hidden="true" class="icon ti-icon ti-home large"></i>
    <span>Dashboard</span>
</a>

完成此操作后,您可以轻松使用上述代码笔中的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多