水平对齐两个反应元素

时间:2018-04-05 15:43:42

标签: css reactjs

import React from 'react'
import ReactDOM from 'react-dom'
import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';

class ResultsBar extends React.Component {
...
render() {
    return (
    <div>
    <h3>
        99 results
    </h3>
    <Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggle}>
    <DropdownToggle caret>
      Dropdown
    </DropdownToggle>
    <DropdownMenu>
      {dropdown}
    </DropdownMenu>
    </Dropdown>
    <hr/>
    </div>
    );
    }
}

enter image description here

从上图中,组件未水平对齐

我希望react-strip下拉元素在同一行的标题右侧浮动。

编辑1: 使用flex <div className={style.resultsBarDiv}>

.results-bar-div {
  display: flex;
  justify-content: space-between;
}

我正试图在窗口的两端放置h3和下拉列表,justify-content无法正常工作

2 个答案:

答案 0 :(得分:3)

只需使用flexbox,将容器CSS设置为display: flex,这会将所有内容放在同一行。

一般情况下,将css应用于ReactJs中的组件时,请考虑使用styled components

import React from "react";
import ReactDOM from "react-dom";
import { render } from "react-dom";


import {
  Dropdown,
  DropdownToggle,
  DropdownMenu,
  DropdownItem
} from "reactstrap";


const divStyle = {
  display: 'flex',
  alignItems: 'center'
};

class App extends React.Component {
  state = {
    dropdownOpen: true
  }
  render() {
    return (
      <div style={divStyle}>
        <h3>99 results</h3>
        <Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggle}>
          <DropdownToggle caret>
            Dropdown
    </DropdownToggle>
          <DropdownMenu>
          </DropdownMenu>
        </Dropdown>
      </div>
    );
  }
}

答案 1 :(得分:1)

我用css应用样式。 您可以直接设置下拉列表的样式,也可以通过className属性为其提供类。 它可以浮动,也可以显示flex