reactjs - React Semantic UI - 将图标放置在菜单项中文本的左侧

标签 reactjs semantic-ui semantic-ui-react

使用 React Semantic UI,默认外观是这样的

React Semantic UI default look for Menu-items with an icon

这是生成该组件的代码(来自网站)。

import React, { Component } from 'react'
import { Icon, Menu } from 'semantic-ui-react'

export default class MenuExampleCompactVertical extends Component {
  state = {}

  handleItemClick = (e, { name }) => this.setState({ activeItem: name })

  render() {
    const { activeItem } = this.state

    return (
      <Menu compact icon='labeled' vertical inverted>
        <Menu.Item name='gamepad' active={activeItem === 'gamepad'} onClick={this.handleItemClick}>
          <Icon name='gamepad' />
          Games
        </Menu.Item>

        <Menu.Item
          name='video camera'
          active={activeItem === 'video camera'}
          onClick={this.handleItemClick}
        >
          <Icon name='video camera' />
          Channels
        </Menu.Item>

        <Menu.Item
          name='video play'
          active={activeItem === 'video play'}
          onClick={this.handleItemClick}
        >
          <Icon name='video play' />
          Videos
        </Menu.Item>
      </Menu>
    )
  }
}

我想将图标放置在文本左侧,如下所示

Icons positioned left of text

有什么想法可以做到这一点吗?

最佳答案

看来我已经回答了我自己的问题。这不是很好,但看起来一点 css 就可以了。

只需将图标向左浮动

i {
  float: left;
  margin-right: 12px !important;
}

菜单项本身就变成了一个 a 元素

a {
  text-align: center;
  line-height: 40px;
}

编辑:

如果有人想知道的话,这就是我最终使用的。 CSS 规则使得根据优先级获取自己的规则变得有点复杂。

/******     Sidebar     ******/

.ui.icon.menu .item {
    line-height: 40px;
    padding-right: 500px;
    text-align: justify;
    font-weight: 600;
}

.ui.vertical.menu .item::before {
    height: 0px;
}

.ui.labeled.icon.menu .item > .icon:not(.dropdown) {
    float: left;
    margin-right: 12px !important;
}

关于reactjs - React Semantic UI - 将图标放置在菜单项中文本的左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51091603/

相关文章:

html - 最后的语义 UI 页脚

javascript - 为什么我的下拉菜单没有在 React Semantic UI 中设置样式?

css - 语义 UI 垂直对齐图标和菜单

Semantic-UI-React 进度条自定义着色

javascript - 元素隐式具有 'any' 类型,因为类型 'any' 的表达式不能用于索引类型

javascript - 根据数组长度重复 ReactDOM.render

semantic-ui - 如何将 Semantic-UI 与 Aurelia-Cli 集成?

reactjs - 使用 Webpack 构建后未定义窗口

javascript - ReactJS 通过 API 调用保护路由

css - 自定义 className 语义 ui react