React Semantic UI - значок положения слева от текста в пункте меню - PullRequest
0 голосов
/ 29 июня 2018

При использовании 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

Есть идеи, как это сделать?

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Похоже, мне удалось ответить на мой собственный вопрос. Это не здорово, но похоже, что маленький CSS делает свое дело.

Просто пропустите значок слева

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

сам пункт меню просто становится a элементом

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

EDIT:

Это то, что я фактически использовал, если кто-то хочет знать. Правила 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;
}
0 голосов
/ 29 июня 2018

Просто используйте список это выглядит почти так же, как вам нравится

...