css - 水平对齐两个 react 元素

标签 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-strap 下拉元素在同一行的标题右侧 float 。

编辑 1:使用 flex<div className={style.resultsBarDiv}>
.results-bar-div {
  display: flex;
  justify-content: space-between;
}

我试图将 h3 和下拉菜单放置在窗口的两端,justify-content不工作

最佳答案

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

考虑使用 styled components一般将 css 应用于 ReactJs 中的组件时。

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>
    );
  }
}

关于css - 水平对齐两个 react 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49676451/

相关文章:

javascript - Meteor 账户添加额外字段

html - 在换行时移除多行 flex 元素之间的空间(间隙)

html - 在按钮文本上方显示 Font Awesome 图标

jquery - 动态生成和浏览器兼容的等宽菜单项

css - 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。”

reactjs - 使用钩子(Hook)获取数据时出现意外行为

css - LESS 变量作为参数混合

css - 比父级高的垂直居中动态高度图像

javascript - Material-UI 仅包含某些组件

javascript - 使用connected-react-router在React + Redux中推送状态